Linux环境C语言斐波拉切数列(1,1,2,3,5,8,13,.........)实现
生活随笔
收集整理的這篇文章主要介紹了
Linux环境C语言斐波拉切数列(1,1,2,3,5,8,13,.........)实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
斐波那契數列(Fibonacci sequence),又稱黃金分割數列、因數學家列昂納多·斐波那契(Leonardoda Fibonacci)以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列以如下被以遞推的方法定義:F(1)=1,F(2)=1, F(3)=2,F(n)=F(n-1)+F(n-2)(n>=4,n∈N*).
C語言可以用以下方法實現
一 遞歸實現
#include <stdio.h> int fun(int i) //遞歸函數
{
int res = ;
if(i>) //從第三位開始
{
res = fun(i-) + fun(i-);
}
else //第一和第二
{
res = ;
} return res;
} void main()
{
int n = ;
for(int i=;i<=n;i++) // 為了打印,循環調用
{
int res = fun(i);//i表示第幾位
printf("%d\t",res);
}
printf("\n");
}
運行結果
he@he-PC:~/Desktop$ ./a.out he@he-PC:~/Desktop$ ^C
二 循環實現
void main()
{
int a[] = {},i=; a[] = ;
a[] = ;
for( i=;i<= sizeof(a)/sizeof(int);i++)
{
if(i<)
{
a[i] =;
}
else
{
a[i] = a[i-] + a[i-]; }
printf("%d\t",a[i]);
} printf("\n"); }
運行結果
he@he-PC:~/Desktop$ ./a.out he@he-PC:~/Desktop$
三 循環實現
#include <stdio.h> void main()
{
int i = ;
int tmp = , tmp2 = , sum = ;
for(i=;i<=;i++)
{
sum = tmp + tmp2;
tmp = tmp2;
tmp2 = sum;
printf("%d\t",sum);
}
printf("\n");
}
運行結果
he@he-PC:~/Desktop$ ./a.out he@he-PC:~/Desktop$
四 循環實現
#include <stdio.h> void main()
{
int a = , n = ,b = ; for(int i=;i<=n;i++)
{
b = a + b;
a = b-a;
printf("%d\t",b);
}
printf("\n");
}
運行結果
he@he-PC:~/Desktop$ ./a.out he@he-PC:~/Desktop$
總結
以上是生活随笔為你收集整理的Linux环境C语言斐波拉切数列(1,1,2,3,5,8,13,.........)实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Intellij IDEA 常见问题
- 下一篇: xshell6,xftp下载