#include <stdio.h>
int fib( int n );
void PrintFN( int m, int n );
int main()
{
int m, n, t;
scanf("%d %d %d", &m, &n, &t);
printf("fib(%d) = %d\n", t, fib(t));
PrintFN(m, n);
return 0;
}
/* 你的代码将被嵌在这里 */
int fib(int n){
int i=0,a[1000];
a[0]=1;a[1]=1;
for(i=1;i<n-1;i++){ //列举了1到n的Fibonacci数列
a[i+1]=a[i]+a[i-1];
}
return a[i];
}
void PrintFN(int m,int n){
int i,a[100];
a[1]=1;a[0]=1;
for(i=1;a[i]<n;i++){ //列举了1到i的Fibonacci数列
a[i+1]=a[i]+a[i-1];
}
int j,flag=0;
for(j=m;j<=n;j++){
for(int k=0;k<=i;k++){
if(a[k]==j){ //采用了一种不同输出方式,十分有用。解决pta上的输出。
if(flag==0)printf("%d",j);
else printf(" %d",j);flag=1;}
}
}
if(flag==0)printf("No Fibonacci number");
}
注意:1.关键点在于pta结果的输出。