2013-10-23 57 views
-5

有人問我有以下幾點:如何在不使用列表的情況下生成斐波那契數列?

使用while循環,編寫生成整數的斐波那契序列 程序。你的程序應該詢問用戶有多少個斐波納契序列條目要生成並將其中的這些數量輸出到屏幕上。 。

我不知道從哪裏開始。有人能指引我朝着正確的方向嗎?

+4

我不知道,名單需要生成斐波那契序列。我總是在循環中使用兩個變量。 – paddy

回答

2

使用一個變量來保存最後一個值和電流值,打印的當前值,然後更新的最後一個值......不想寫你:)

+0

想我明白了嗎? #fib序列 N = INT(輸入( 「請輸入您想要序列的數目: 」)) I = 0 第一= 0 第二= 1 下一= 1 其他=「 無」 而我 user2909219

0

讓我們來想想這個問題點點只是給了答案之前:

斐波那契序列的形式 0 1 1 2 3 5 8 13 21 ...

所以你可以看到你的下一個號碼的總和前兩個數字是這樣的,根據它的定義,你可以告訴你需要兩個變量來存儲前兩個數字和一個變量來存儲t他總結。你還需要知道什麼時候你需要終止你的循環(你從用戶那裏得到的數字)。

看起來像某人已經發布了它......沒關係。

0

每個斐波納契數都是前兩個斐波納契數的和。頭兩個斐波納契數字是01

使用上面的定義,讓我們開始設計代碼:

function fibonnacci: 
    n := ask user how many numbers to output # hint: use raw_input() and int() 
    if n is 1: 
     output 0 
    else if n is 2: 
     output 0, 1 
    else: 
     output 0, 1 
     lastNumber := 1 
     twoNumbersAgo := 0 
     count up from 3 to n: 
      nextNumber := twoNumbersAgo + lastNumber 
      output nextNumber 
      twoNumbersAgo := lastNumber 
      lastNumber = nextNumber 
end function