English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

定義如下.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

3 個解答

全班沒人會?
這題知識+被問過 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

fedest.com, questions and answers