//04斐波那契函数_Fibonacci
#include "stdio.h"
int Fbi(int i) /* 斐波那契的递归函数 */
{
if (i < 2)
return i == 0 ? 0 : 1;
return Fbi(i - 1) + Fbi(i - 2); /* 这里Fbi就是函数自己,等于在调用自己 */
}
//0 1 1 2 3
int main()
{
int i;
int a[40];
printf("迭代显示斐波那契数列:\n");
a[0] = 0;
a[1] = 1;
printf("%d ", a[0]);
printf("%d ", a[1]);
for (i = 2; i < 40; i++)
{
a[i] = a[i - 1] + a[i - 2];
printf("%d ", a[i]);
}
printf("\n");
printf("递归显示斐波那契数列:\n"); //不建议用递归,太慢,尽可能写成for循环
for (i = 0; i < 40; i++)
printf("%d ", Fbi(i));
/*例如 可以参考剑指Offer里面的条目有几道类似的题目
if(fd == 0)
{
return 0;
}
else if(fd == 1)
{
return 1;
}
else
{
int fd = 0;
int fd1 = 1;
int i = 0;
for(i = 0;i<40;i++)
{
int fd2 = fd1+fd;
fd = fd1;
fd1 = fd2;
}
}
*/
return 0;
}
大话数据结构之斐波那契数列
猜你喜欢
转载自blog.csdn.net/qq_35433716/article/details/89681095
今日推荐
周排行