日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python编写递归函数和非递归函数、输出斐波那契数列_分别用非递归和递归的方法编写函数求斐波那契数列第n项。斐波那契数列1,1,2,3,5,8,13,…...

發布時間:2025/3/8 python 17 豆豆

展開全部

/**

已知Fibonacci數列:1,1,2,3,5,8,……,F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2)

*/

#include

#include

typedef long long int int64;

//方法1,遞歸法

int64 Fibonacci(int n)

{

int64 sum;

if(n<=0)

{

printf("參數值e68a84e8a2ad3231313335323631343130323136353331333433616236非法!\n");

exit(-1); //直接終止程序

}

if(n==1 || n==2)

return 1;

else

sum=Fibonacci(n-1)+Fibonacci(n-2);

return sum;

}

非遞歸法

int64 Fibonacci2(int n)

{

int64 a,b,c;

if(n<=0)

{

printf("參數值非法!\n");

exit(-1); //直接終止程序

}

if(n==1 || n==2)

return 1;

a=b=1; ?//對前兩項的值初始化

n=n-2; ?//因為是從第3項開始記次數,所以減2

while(n > 0)

{

c=a+b;

a=b;

b=c;

n--;

}

return c;

}

//測試主函數

int main()

{

int n;

scanf("%d",&n); //輸入n

//printf("F(%d)=%lld\n",n,Fibonacci(n));

printf("F(%d)=%lld\n",n,Fibonacci2(n));

return 0;

}

//示例運行結果

F:\c_work>a.exe

5

F(5)=5

F:\c_work>a.exe

6

F(6)=8

program fibo;var n,i:integer; rs:extended;function fib(m:integer):extended;var a,b:extended;

begin

a:=1;b:=1;if m<=2 then exit(1)else while m>3 do begin

fib:=a+b;a:=b;b:=fib;m:=m-1;end;exit(fib);end;

begin

read(n);writeln(fib(n));end.

擴展資料:

從第二項開始,每個偶數項的平方都比前后兩項之積少1,每個奇數項的平方都比前后兩項之積多1。

如:第二項1的平方比它的前一項1和它的后一項2的積2少1,第三項2的平方比它的前一項1和它的后一項3的積3多1。

(注:奇數項和偶數項是指項數的奇偶,而并不是指數列的數字本身的奇偶,比如從數列第二項1開始數,第4項5是奇數,但它是偶數項,如果認為5是奇數項,那就誤解題意,怎么都說不通)

證明經計算可得:[f(n)]^2-f(n-1)f(n+1)=(-1)^(n-1)

總結

以上是生活随笔為你收集整理的python编写递归函数和非递归函数、输出斐波那契数列_分别用非递归和递归的方法编写函数求斐波那契数列第n项。斐波那契数列1,1,2,3,5,8,13,…...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。