定義如下.F(1)=1,F(2)=1,F(n)=f(n-1)+f(n-2)
計算前45項將值存入一維陣列A中
出來答案例如:
第3項為2
4 3
5 5
6 8
7 13
8 21
9 34
等等拜託幫幫我
幫幫我....請快點全班在等....拜託
2007-03-23 10:30:39 補充
我的程式是Dev C++的幫幫我全班在等
2007-03-23 06:41:43 · 3 個解答 · 發問者 Anonymous in 電腦與網際網路 ➔ 程式設計
可是大家都搜不到= = 大家都不會打程式碼.給意見的大大幫幫忙....不然全班都要留下來大掃除不能下課了
2007-03-23 07:08:37 · update #1
全班沒人會?
這題知識+被問過 N 遍了!
在知識+搜就有了!
2007-03-23 11:38:49 補充:
我剛好在寫它的作業:到 Fib(5000)
就把化簡版給你吧。
int i, fi[46];
fi[1]=fi[2]=1;
for (i=3; i<46; i )
fi[i] = fi[i-1] fi[i-2];
不過,標準的 Fibonacci 的定義是 f0=0, f1=1,你老師的版少了 f0
2007-03-23 11:40:22 補充:
還要印出來喔!
那部分不至於全班都不會吧!?
2007-03-24 05:49:19 補充:
我還用 MatLab ,分別用
F(n) = F(n-1) + F(n-2) Loop
F(n) = F(n-1) + F(n-2) Recursion
無理數的方法、
中國剩餘定理、
Lucas Base 法
寫過算到 Fib(131073) 耶。(131073 = 2^17+1)
真的不難,只要你願意。
2007-03-23 07:38:49 · answer #1 · answered by ? 7 · 0⤊ 0⤋
請利用知識+搜尋費氏數列…裡頭就有你想要的答案了
2007-03-23 08:44:06 · answer #2 · answered by 想 3 · 0⤊ 0⤋
#include
#include
long F(long n)
{
long a;
if(n<=2) return 1;
a=F(n-1)+F(n-2);
else return a;
}
int main()
{
long fin[50]
for (int i = 0; i <= 50; i++)
{
printf("%d, F(%d) = %d\n", i, i, F(i));
}
system("PAUSE")
return 0;
}
}
2007-03-23 07:37:20 · answer #3 · answered by Wow 6 · 0⤊ 0⤋