回复 7楼 守护靖
若n=6,总的有13种,奇数步有6种;而按照这个算出来是7种。
回复 19楼 小新二代
呵呵,你好像没明白我在说什么。也不较真了。下面的代码是按原题写的,原题要求的是偶数步。如果你确实想要奇数步的结果,将函数f的返回值改成ta即可。
程序代码:#include<stdio.h>
int f(int n)
{
int a1 = 1, a2 = 1, b1 = 0, b2 = 1, ta, tb, i;
if(n < 2) return 0;
for(ta = a2, tb = b2, i = 3; i <= n; i++)
{
ta = b1 + b2;
tb = a1 + a2;
a1 = a2;
a2 = ta;
b1 = b2;
b2 = tb;
}
return tb;
}
int main()
{
printf("%d", f(39));
return 0;
}










