技術討論區 > Python程式設計討論區

費式數列

(1/1)

buddhaya7:
各位前輩好,我是這個網站的新手(剛剛辦而已),如有哪裡設定錯誤請見諒!
請教前輩一些python的問題,我想寫一個費式數列的程式,如輸入一個正整數,舉例是5,則輸出結果必須是:
Fib=0,1,1,2,3
如果輸入的是10,則輸出結果必須是:
Fib=0,1,1,2,3,5,8,13,21,34
如只考慮if、for等基本函數,不考慮太複雜的語法,請教該怎麼寫呢?謝謝

twu2:
作業?

看起來是很簡單的功能, 簡單的 if/for 就能做出來, 有學過應該要會才對.
建議把書再看一看吧.

netman:
python我不會,
換成bash的話:

--- 代碼: ---n1=0
n2=1
max=${1-0}

if [ "$max" -le 1 ]; then
echo Not positive integer.
exit
fi

((max-=2))

echo -n "Fib=$n1,$n2"

for ((i=1;i<=$max;i++)); do
n=$((n1+n2))
echo -n ",$n"
n1=$n2
n2=$n
done
echo

--- 程式碼結尾 ---

buddhaya7:
回twu2:是作業,但是課本教得比較簡單,老師出題有稍微難、變化;之前網路上爬文,網友大多是用特別的語法與函數來達成費式數列,比如匯入函式庫import等。
回netman:謝謝你的提供!

TWASA:
數學不熟,不過參考python 2.x的官方文件,就這麼幾行而已

--- 代碼: ---n = int(raw_input("Please enter an integer: "))

a, b = 0, 1
while b < n:
    print b,
    a, b = b, a+b

--- 程式碼結尾 ---

導覽

[0] 文章列表

前往完整版本