斐波那契数列是一道基础的编程题 ----------->>>>>递归算法
斐波那契数列:1 1 2 3 5 8 13 21 34 55
即从第三个数开始,等于该位前两位之和
用非递归方法写一下
#include<stdio.h>
int fib(int f1,int f2,int n)
{
int i=1;
while(i<=n/2)
{
printf("%d ",f1);//输出 1 1
if((i!=n/2)||(n%2)==1)
printf("%d ",f2);
f1 = f1 + f2;//f1 = 1+1 = 2
f2 = f1 + f2;//f2 = 2+1 = 3
i++;
}
}
int main()
{
int f1 = 1;
int f2 = 1;
int n = 0;
printf("输入需要输出的斐波那契数个数:");
scanf("%d",&n);
n++;
fib(f1,f2,n);
return 0;
}
有一道编程思考题叫做 小青蛙跳台阶
小青蛙可以一次跳一个台阶,也可以一次跳两次台阶。
那么,假如有N个台阶,小青蛙有多少种跳法呢?
台阶 -> 跳法
1 -> 1
2 -> 2
3 -> 3
4 -> 5
...............