设计一个过程(函数或子程序):能产生Fibonacci序列的第i个数。用主调函数过程调用这个过程并完成下列任

设计一个过程(函数或子程序):能产生Fibonacci序列的第i个数。用主调函数过程调用这个过程并完成下列任务:
找出所有出现在[15,35]范围内的是奇数的Fibonacci数,统计这些奇数的个数。
(Fibonacci序列数的规则:前两项均为1,从第3项开始,每一项均为其前两项的和,即1、1、2、3、5、8、13、21、...)
用TC作答

第1个回答  2010-12-15
#include <stdio.h>

int Fibonacci(int n) /*求Fibonacci的第n项*/
{
if(n<1)return 0;

else if(n==1 || n==2)return 1;

else return Fibonacci(n-1)+Fibonacci(n-2);

}

int main()
{
int i = 1;
int count = 0,val;

while(1)
{
val = Fibonacci(i);

if(val>35)break;

if(val>15&&val%2==1)count++;
i++;
}

printf("Fibonaci数列介于15~35之间的奇数有 %d 个\n",count); /*TC支持汉字吧*/

return 0;
}
第2个回答  2010-12-11
TC是什么?我给你一个C语言的写法
main()
{
int count=countFibonaci();
printf("共有%d个Fibonaci数列的奇数介于15~35之间",count);
}

int countFibonaci()
{
int count=0;
int i=1; j=1;
do while(j<=35)
{
if (j<=35 && j>=15 && j%2==1) count++;
int t=i;
i=j;
j+=t;
}
return count;
}

我没调试过,你复制到编译器里试试本回答被网友采纳
相似回答