本題要求實作一個計算Fibonacci數的簡單函式,并利用其實作另一個函式,輸出兩正整數m和n(0<m<n≤100000)之間的所有Fibonacci數的數目, 所謂Fibonacci數列就是滿足任一項數字是前兩項的和(最開始兩項均定義為1)的數列,fib(0)=fib(1)=1,其中函式fib(n)須回傳第n項Fibonacci數;函式PrintFN(m,n)用串列回傳[m, n]中的所有Fibonacci數,
函式介面定義:
在這里描述函式介面,例如:
fib(n),回傳fib(n)的值
PrintFN(m,n),用串列回傳[m, n]中的所有Fibonacci數,
裁判測驗程式樣例:
在這里給出函式被呼叫進行測驗的例子,例如:
/* 請在這里填寫答案 */
m,n,i=input().split()
n=int(n)
m=int(m)
i=int(i)
b=fib(i)
print("fib({0}) = {1}".format(i,b))
fiblist=PrintFN(m,n)
print(len(fiblist))代碼如下:
def fib(n): f1 = 1 f2 = 1 f3 = 1 while n>=2: f3 = f1 + f2 f1 = f2 f2 = f3 n -= 1 return f3 def PrintFN(m,n): list1 = list(range(m,n+1)) list2 = list() key = n i = 1 while True: if fib(i) in list1: list2.append(int(fib(i))) if fib(i) >= key: break i += 1 return list2 #蒽?
這個也不難,仔細看就能看明白的,
另外我的PrintFn函式有點問題,但是測驗能通過,
運行時會出現如下警告,但是不影響運行,
WARNING: Pygame Zero mode is turned on (Run → Pygame Zero mode),
but pgzero module is not found. Running program in regular mode.先這樣,后面有時間再研究,
讀書和健身總有一個在路上
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/154298.html
標籤:Python
上一篇:第6章函式-2 使用函式求素數和
