這道題我真是想破腦袋都想不出來遞回的呼叫程序

/*下列給定程式中,函式 fun()的功能是:用遞回演算法計算斐波拉契級數列中第 n 項的值。
從第一項起,斐波拉契級數序列為 1,1,2,3,5,8,13,21,……,例如,若給 n 輸入 7
,該項的斐波拉契級數值為 13。*/
#include < stdio.h >
long fun(int g)
{
switch (g)
{
case 0:
return 0;
case 1: case 2: //case: 陳述句會直接穿入下一個陳述句
return 1;
}
return (fun(g-1))+(fun(g-2)); //遞回演算法
}
int main()
{
long fib; int n;
printf("Input n:");
scanf("%d", &n);
printf("n=%d\n", n);
fib = fun(n);
printf("fib=%d\n\n", fib);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/269218.html
標籤:C++ 語言
上一篇:c語言指標復雜定義
