1. 程式人生 > >NO.14————C語言入門練習10

NO.14————C語言入門練習10

// 遞迴和非遞迴分別實現求第n個斐波那契數

// 遞迴法:

int  fib(int n)
{
if (n <= 2)
{
	return 1;
}
else
{
	return  fib(n - 1) + fib(n - 2) ;
}
}

// 非遞迴法:

int fib(int num)
{
int i, f1 = 1, f2 = 1, f3 = 0;                                       
for (i = 3; i <= num ; i++)
{
	f3 = f2 + f1;
	f2 = f1;
	f1 = f3;
}   

return f3;

}

int main()
{
int num;
printf("請問你想列印第幾個斐波那契數:");
scanf("%d", &num);

printf("第%d個斐波那契數為:%d \n", num, fib(num));

system("pause");
return 0;
}

執行結果:在這裡插入圖片描述