假設(shè)你正在應(yīng)聘華為外包公司的Python開(kāi)發(fā)崗位,以下是一個(gè)可能的面試題:
面試題目:Python實(shí)現(xiàn)斐波那契數(shù)列
問(wèn)題描述:
請(qǐng)編寫(xiě)一個(gè)Python程序,實(shí)現(xiàn)計(jì)算斐波那契數(shù)列的第n項(xiàng)的值。斐波那契數(shù)列是一個(gè)經(jīng)典的數(shù)列,其中每一項(xiàng)都是前兩項(xiàng)的和。數(shù)列的前幾項(xiàng)為:0, 1, 1, 2, 3, 5, 8, 13, 21, ...
示例:
輸入n=6,輸出為8;輸入n=9,輸出為21。
解題思路:
斐波那契數(shù)列的計(jì)算可以使用遞歸或迭代的方法。下面將為大家提供使用迭代的解題思路。
解題步驟:
1. 定義兩個(gè)變量a和b,分別表示數(shù)列的前兩項(xiàng),初始值分別為0和1。
2. 使用循環(huán)迭代n次,每次計(jì)算a和b的和,并將和賦值給b,再將b的值賦給a。
3. 循環(huán)結(jié)束后,a的值就是斐波那契數(shù)列的第n項(xiàng)的值。
Python代碼實(shí)現(xiàn):
def fibonacci(n):
if n <= 0:
return "輸入錯(cuò)誤,請(qǐng)輸入大于0的整數(shù)"
elif n == 1:
return 0
elif n == 2:
return 1
a, b = 0, 1
for i in range(3, n+1):
a, b = b, a + b
return b
# 測(cè)試
print(fibonacci(6)) # 輸出:8
print(fibonacci(9)) # 輸出:21
這是一個(gè)常見(jiàn)的面試題目,面試官可能會(huì)根據(jù)你的解答展開(kāi)更多問(wèn)題,例如如何使用遞歸實(shí)現(xiàn)斐波那契數(shù)列,或者如何處理特殊情況(如輸入非正整數(shù))。在面試過(guò)程中,除了正確的解答問(wèn)題,展現(xiàn)清晰的代碼思路和良好的編程風(fēng)格也是非常重要的。希望以上面試題案例對(duì)你有所幫助!