题目描述:
代码实现:
#include <stdio.h>
int fib(int n);
void PrintFN(int m, int n);
int main()
{
PrintFN(20,100);
return 0;
}
int fib(int n) {
if (n < 2){
return n;
}
int p = 0,q= 1, r ;
for (int i = 2; i <= n; ++i){
r = p+q;
p = q;
q=r;
}
return r;
}
void PrintFN(int m, int n)
{
int i = 0;
int flag = 0;
// 判断i的起始值
while(fib(i) < m){
i++;
}
while(fib(i)<=n){
if(flag ==0){ // 等于0前面无空格
printf("%d", fib(i));
}else{
printf(" %d", fib(i));
}
flag++;
i++;
}
if (flag == 0) {
printf("No Fibonacci number");
}
}