Fibonacci数列前面相邻两项之和,构成了后一项。
输入2个正整数m和n(m>=1,n<=10 000,m<=n),要求使用函数编程计算并输出m~n之间所有的Fibonacci数。 Fibonacci数列(第一项起):1,1,2,3,5,8,13,21,…。可以看出Fibonacci数列前面相邻两项之和,构成了后一项。
程序代码:#include<stdio.h>
int _IsFibonacci(int n)
{
int n1=1, n2=1, tmp;
while (n2 <= n)
{
if ((n1+n2) == n)
{
return 1;
}
tmp = n1+n2;
n1 = n2;
n2 = tmp;
}
return 0;
}
main()
{
int m, n
printf("输入2个正整数m和n(m>=1,n<=10000,m<=n)\n");
scanf("%d%d", &m,&n);
if (m==1)
{
printf("%d\n%d\n", 1, 1);
}
for (int i=m; i<=n; i++)
{
if (_IsFibonacci(i))
{
printf("%d\n", i);
}
}
return 0;
}[此贴子已经被作者于2016-4-21 16:15编辑过]