4-18 遞迴求Fabonacci數列 (10分)
本題要求實現求Fabonacci數列項的函式。Fabonacci數列的定義如下:
f(n)=f(n−2)+f(n−1)f(n)=f(n-2)+f(n-1)f(n)=f(n−2)+f(n−1) (n≥2n\ge 2n≥2),其中f(0)=0f(0)=0f(0)=0,f(1)=1f(1)=1f(1)=1。
函式介面定義:
int f( int n );
函式f
應返回第n
個Fabonacci數。題目保證輸入輸出在長整型範圍內。建議用遞迴實現。
裁判測試程式樣例:
#include <stdio.h> int f( int n ); int main() { int n; scanf("%d", &n); printf("%d\n", f(n)); return 0; } /* 你的程式碼將被嵌在這裡 */
輸入樣例:
6
輸出樣例:
8
int f( int n )
{
int result;
if(n == 0)
result = 0;
else if(n == 1)
result = 1;
else
result = f(n - 2) + f(n - 1);
return result;
}
相關推薦
4-18 遞迴求Fabonacci數列 (10分)
本題要求實現求Fabonacci數列項的函式。Fabonacci數列的定義如下: f(n)=f(n−2)+f(n−1)f(n)=f(n-2)+f(n-1)f(n)=f(n−2)+f(n−1) (n≥2n\ge 2n≥2),其中f(0)=0f(0)=0f(0)=0,f(1)=1f
4-19 遞迴計算P函式 (10分)
本題要求實現下列函式P(n,x)P(n,x)P(n,x)的計算,其函式定義如下: 函式介面定義: double P( int n, double x ); 其中n是使用者傳入的非負整數,x是雙精度浮點數。函式P返回P(n,x)P(n,x)P(n,x)函式的相應值。題目
4-17 遞迴計算Ackermenn函式 (10分)
本題要求實現Ackermenn函式的計算,其函式定義如下: 函式介面定義: int Ack( int m, int n ); 其中m和n是使用者傳入的非負整數。函式Ack返回Ackermenn函式的相應值。題目保證輸入輸出都在長整型 範圍內。 裁判測試程式
4-16 遞迴求簡單交錯冪級數的部分和 (10分)
本題要求實現一個函式,計算下列簡單交錯冪級數的部分和: f(x,n)=x−x2+x3−x4+⋯+(−1)n−1xn f(x, n) = x - x^2 + x^3 - x^4 + \cdots + (-1)^{n-1}x^nf(x,n)=x−x2+x3−x4+
4-14 遞迴求階乘和 (10分)
本題要求實現一個計算非負整數階乘的簡單函式,並利用該函式求 1!+2!+3!+...+n! 的值。 函式介面定義: double fact( int n ); double factsum( int n ); 函式fact應返回n的階乘,建議用遞迴實現。函式factsum應返
6-3 遞歸求Fabonacci數列 (10 分)
stdio.h 輸入 整型 text bottom sca als tex spa 6-3 遞歸求Fabonacci數列 (10 分) 本題要求實現求Fabonacci數列項的函數。Fabonacci數列的定義如下: f(n)=f(n?2)+f(n?1) (n≥2),
4-16 遞迴求簡單交錯冪級數的部分和 (10分)
本題要求實現一個函式,計算下列簡單交錯冪級數的部分和: f(x,n)=x−x2+x3−x4+⋯+(−1)n−1xn f(x, n) = x - x^2 + x^3 - x^4 + \cdots
4-20 使用函式求素數和 (10分)
本題要求實現一個判斷素數的簡單函式、以及利用該函式計算給定區間內素數和的函式。 素數就是隻能被1和自身整除的正整數。注意:1不是素數,2是素數。 函式介面定義: int prime( int p ); int PrimeSum( int m, int n ); 其中函式
10-6 遞迴實現求Fabonacci數列
// 10-6 // 遞迴實現求Fabonacci數列 #include <stdio.h> int Fabonacci(int n); int main(void) { int n; printf("請輸入正整數n(n>1):"); scanf("%d", &am
10-4 遞迴求式子和
// 10-4 // 遞迴求式子和 #include <stdio.h> double Exponential(int n, double x); double sum(int n, double x); int main(void) { double x; // 實數x
10-2 遞迴求階乘和
// 遞迴求階乘和 #include <stdio.h> double fact(int n); // 遞迴求階乘 double sum(int n); // 遞迴求和 int main(void) { int n; printf("請輸入一個整數n(n>0
4-15 遞迴實現指數函式 (10分)
本題要求實現一個計算xnx^nxn(n≥1n\ge 1n≥1)的函式。 函式介面定義: double calc_pow( double x, int n ); 函式calc_pow應返回x的n次冪的值。建議用遞迴實現。題目保證結果在雙精度範圍
【18年北京網路賽】Tomb Raider【遞迴求所有子序列】
Tomb Raider 題目描述: Lara Croft, the fiercely independent daughter of a missing adventurer, must push herself beyond her limits when she di
Python—用列表和遞迴求斐波那契數列
1.生成前10個斐波那契數(Fibonacci),要求將這些整數存於列表L中,最後打印出這些數[1, 1, 2, 3, 5, 8, 13, 21, 34, 55] (斐波那契數的前兩個是1,1,之後的數是前兩個數的和) 方法1:使用列表 L=[1,1] while len(L)<
Java面向物件——用遞迴求斐波那契數列
1.用非遞迴方式求斐波那契數列: package Hello; public class Test { public static void main(String[] args) {
js遞迴求階乘、斐波那契數列
1、求一個數的階乘 階乘:n! = n * (n - 1)!,0! = 1 function mul(n) { if(n==1||n==0){ return 1; } return n * mul(n-1); } mul(5);//120 //mul(5) ==> 5 *
java遞迴求斐波那契數列第n項
public class Fibonacci { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int f
遞迴求斐波那契數列
int f (int n) { if(n==1||n==2) return 1; else return f(n-1)+f(n-2); } #include<stdio.h> int main() {
第一個人10歲,第二個比第一個大2歲,以此類推,遞迴求第8個人的年齡
public static int Foo(int i){if(i<=0) return 0;if(i==1) return 10;if(i>1) return Foo(i-1)+2;return i;}
實驗10 問題 B: 遞迴求階乘
題目描述 我們都知道,在數學上,一個整數n的階乘被定義為:n! = (n - 1)! * n,且0! = 1。 現在,你需要編寫一個程式計算一個整數n的階乘。不過,這次你只能使用遞迴的方法來實現。 -----------------------------------