第1个回答 2010-08-08
/*这个函数递增很快,输入的num不要太大,23以下就好*/
#include"stdio.h"
fun(int n)
{
int x=0;
if(n==1||n==2)
{
x=1;
return x ;
}
x=fun(n-1)+fun(n-2);
return x;
}
/*递归调用*/
main()
{
long i=0,n=0,middle=0;
printf("input num:");
scanf("%ld",&n);
for(i=0;i<n;i++)
{
middle=fun(i+1);
printf("%d\t",middle);
if((i+1)%8==0)
{
printf("\n");
}
}
getch();
}
第2个回答 2010-08-08
#include <stdio.h>
#define N 8
void main()
{
int a[N]={0,1};
int i;
for(i=1;i<=6;++i)
a[i+1]=a[i]+a[i-1];
for(i=0;i<8;++i)
printf("%d\t",a[i]);
}
第3个回答 2010-08-08
输出嘛,那就不用存储了。
#include "stdio.h"
void main()
{
long f1=1,f2=1;
int i,n;
printf("Input number n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("%ld %ld ",f1,f2);
f1=f1+f2;
f2=f1+f2;
}
}
第4个回答 2010-08-08
一楼的算法没有问题.但程序并不完美.比如n应由外部输入,并判断合法性.节省存储空间,结果直接输出.