递归和非递归分别实现求第n个斐波那契数
2018-03-26 18:17
375 查看
斐波那契数列的排列是:1,1,2,3,5,8,13,21,34,55,89,144
它后一个数等于前面两个数的和。在这个数列中的数字,就被称为斐波那契数
#include<stdio.h>
int fid(t)//递归
{
if(t <= 2)
{
return 1;
}
else
{
return fid(t - 1) + fid(t-2);
}
}
int fid1(t)//迭代
{
int f1 = 1;
int f2 = 1;
int f3 = 1;
while(t>2)
{
f3 = f2 + f1;
f1 = f2;
f2 = f3;
t--;
}
return f3;
}
int main()
{
int n = 0;
printf("请输入数字: ");
scanf("%d",&n);
fid(n);
fid1(n);
printf("%d\n",fid(n));
printf("%d\n",fid1(n));
return 0;
}
它后一个数等于前面两个数的和。在这个数列中的数字,就被称为斐波那契数
#include<stdio.h>
int fid(t)//递归
{
if(t <= 2)
{
return 1;
}
else
{
return fid(t - 1) + fid(t-2);
}
}
int fid1(t)//迭代
{
int f1 = 1;
int f2 = 1;
int f3 = 1;
while(t>2)
{
f3 = f2 + f1;
f1 = f2;
f2 = f3;
t--;
}
return f3;
}
int main()
{
int n = 0;
printf("请输入数字: ");
scanf("%d",&n);
fid(n);
fid1(n);
printf("%d\n",fid(n));
printf("%d\n",fid1(n));
return 0;
}
相关文章推荐
- 递归和非递归分别实现求第n个斐波那契数(C语言)
- 一只程序猿的养成日记 第一章 第十节 递归和非递归分别实现求第n个斐波那契数
- 1.递归和非递归分别实现求第n个斐波那契数。
- C语言实现-递归和非递归求第n个斐波那契数
- 递归和非递归分别实现求第n个斐波那契数。
- 用递归和非递归分别实现求第n个斐波那契数。
- 二叉搜索树(递归和非递归分别实现)
- C和指针之函数之实现阶乘和斐波那契数(递归和非递归)
- 一只程序猿的养成日记 第一章 第十五节 递归和非递归分别实现求n的阶乘
- 一只程序猿的养成日记 第一章 第十四节 递归和非递归分别实现strlen
- 递归和非递归分别实现strlen(C语言)
- 面试题:单链表逆置(分别用非递归和递归两种方法实现)
- 递归和非递归分别实现strlen
- 求第n个斐波那契数(非递归与递归方法实现)
- 用递归和非递归的方法输出斐波那契数列的第n个元素(C语言实现)
- 1.求第n个斐波那契数(非递归实现)。 2.一个数组中只有两个数字是出现一次,其他所有数字都出现 了两次。 找出这两个数字,编程实现。
- 求第n个斐波那契数(用非递归实现)
- C语言程序-递归和非递归分别实现strlen
- 查找二叉树的实现(查找,删除,插入)分别用递归和非递归
- 递归和非递归分别实现求n的阶乘