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编辑过]