#include
int main(int argc, const char * argv[]) {
int num_A = 1,num_B = 1;
int newFibonacciNum;
int Fibonacci_index = 20;
for (int i = 0; i<=Fibonacci_index; i++) {
newFibonacciNum = num_A + num_B;
num_A = num_B;
num_B = newFibonacciNum;
printf("序号:%d 数值:%d\n",i+3,newFibonacciNum);
//因为A和B是第一第二个,所以是从第三个开始输出的
if (i+3 == Fibonacci_index) {
printf("结果是:%d\n",newFibonacciNum);
return newFibonacciNum;
}
}
return 0;
}
有问题可以继续问
#include
int main()
{
int i,fib[20]={0,1};
for (i=2; i<20; i++)
{
fib[i]=fib[i-2]+fib[i-1];
}
printf("%d ",fib[19]);
return 0;
}
#include
main()
{
int f1=1,f2=1;
int i,n;
long double f;
scanf("%d",&n);
printf("%6d,%6d",f1,f2);
for(i=3;i<=n;i++)
{
f=f1+f2;
printf("%21lf",f);
if(i%5==0)
printf("\n");
f1=f2;
f2=f;
}
}
int F(int n)
{
if (n == 1 || n == 2) return 1;
else return F(n-1)+F(n-2);
}
int main()
{
printf("%d",F(20));
return 0;
}
如下即可:
#include
void main()
{
int i, a[20];
a[0] = 1; a[1] = 1;
for(i = 2; i < 20; i++)
a[i] = a[i - 1] + a[i - 2];
i = 0;
while( i < 20) {
printf("%d\t", a[i++]);
if(i % 5 == 0) printf("\n");
}
}