#define COL 5 //壹行輸出5個
long fibonacci(int n)
{ //fibonacci函數的遞歸函數
if (0==n||1==n) { //fibonacci函數遞歸的出口
return 1;
}
else {
return fibonacci(n-1)+fibonacci(n-2);
//反復遞歸自身函數直到碰到出口處再返回就能計算出第n項的值
}
}
int main(void)
{
int i,n;
n= 17;
printf("Fibonacci數列的前%d項\n", n);
for (i=0; i<n;) //輸出fibonacci函數前n項每項的值
{
printf("%-10ld",fibonacci(i++)); //調用遞歸函數並且打印出返回值
if(i%COL==0)
{ //若對COL取余等於0就換行,也就是控制每行輸出多少個,
//而COL=10就是每行輸出10個
printf("\n");
}
}
printf("\n");
return 0;
}