vb 程式設計輸出fibonacci數列的前n項

2021-12-22 19:25:16 字數 1742 閱讀 8927

1樓:娛樂小八卦啊

這題主要考察遞迴函式的思想。**如下:

#include

int  fbi(int i);//遞迴函式:輸出數列的第i項資料,這裡i從0開始計算。

int main()

else

}擴充套件資料

一個函式可以呼叫其他函式。如果這個函式在內部呼叫它自己,那麼這個函式就叫遞迴函式。遞迴函式的作用和迴圈的方法效果一樣,即遞迴函式本質上是一個方法的迴圈呼叫,注意:

有可能會出現死迴圈。因此,使用遞迴函式時,一定要定義遞迴的邊界(即什麼時候退出迴圈)。

注意:在實際使用中,遞迴函式由於消耗時間比較長(相比for迴圈和while迴圈),所以很少使用。要使遞迴函式有用,則遞迴函式必須有一個方法來控制遞迴呼叫的次數。

每次函式呼叫自己時,迴圈都會重複。現在應該能發現該函式的問題,因為它沒有辦法停止遞迴呼叫。這個函式就像一個無限迴圈,因為沒有**阻止它重複。

2樓:匿名使用者

private sub form_load()dim i as integer

form1.autoredraw = truefor i = 1 to 10

print fibonacci(i);

next i

end sub

private function fibonacci(byval n as integer) as long

dim f(32767) as long

if n = 1 or n = 2 thenfibonacci = 1

else

fibonacci = fibonacci(n - 1) + fibonacci(n - 2)

end if

end function

另外也可以用通項公式求得。如**。

3樓:風行少年

private sub form_click()dim l1 as long, l2 as long, l3 as long, f as long, n as integer

l1 = 1: l2 = 1

for n = 1 to 40

if n <= 2 then

f = 1

print f

else

l3 = l1 + l2

l1 = l2

l2 = l3

print l3

end if

next n

end sub

根據之前一版改的,因為當時還沒複習到函式和陣列,這個程式比較符合當的情境,其實有好幾種方法。

程式設計輸出斐波那契數列的前50項 vb

4樓:己曼寒

private sub command1_click()dim a(1 to 50) as integerfor i = 1 to 50

if i = 1 or i = 2 thena(i) = 1

else

a(i) = a(i - 1) + a(i - 2)end if

print i, a(i)

next i

end sub

vb程式設計題,列印fibonacci數列的前20項。該數列的第一項為0,第二項為1,從第三項開始,每

5樓:旅初彤

不對吧,fibonacci數列前面兩項都是1哦

用vb程式設計輸出3 200之間的所有素數

private sub command1 click for i 3 to 200 for j 2 to sqr i if i mod j 0 then exit fornext if j int sqr i then print inext end sub vb編寫程式找出3 100間所有素數並輸...

VB程式設計題目,vb程式設計題目

private sub command1 click dim k sum sum 0 k val trim inputbox 請輸入正整數k的值 for i 1 to len str k sum sum val mid str k i,1 next i msgbox sum end subpriva...

VB程式設計問題,VB程式設計中的迴圈問題

有個 自己去看吧,都是考試的。編一個求圓周長的程式。輸入半徑,得到周長和麵積。試試看。建議你不要光學vb,畢竟它有太多缺點,很多事做不了 如果是對basic語言感興趣的話,到不如去學哈freebasic,powerbasic,purebasic,它們都功能超級強大 freebasic甚至可以寫作業系...