题目:有50个台阶,一次只能走一步或是两步,问走完这五十个台阶,有多少种可能的走法?
1、用递归方法实现
#include <stdio.h>
#include <stdlib.h>
double go(int n)
{
if(n == 1)
{
return 1.0;
}
else if(n == 2)
{
return 2.0;
}
else
{
return go(n-1)+go(n-2);
}
}
int main()
{
printf("%f",go(10));
return 0;
}
2、用for循环
#include <stdio.h>
#include <stdlib.h>
int main()
{
double a[50];
int i;
a[0] = 1;
a[1] = 2;
for(i = 2; i < 50; i++)
{
a[i] = a[i-1] + a[i-2];
}
printf("%f",a[49]);
return 0;
}