اعداد فیبوناچی در پایتون | تولید و چاپ در خروجی
جمعه, ۳۰ شهریور ۱۴۰۳، ۰۳:۴۸ ب.ظ
اعداد فیبوناچی اعدادی هستند که به صورت سری مقابل نوشته می شوند. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …
در علم ریاضیات رابطه ساخت عدد n ام با استفاده از دو عدد قبل از رابطه زیر بدست میآید:
Fn = Fn-1 + Fn-2
with seed values : F0 = 0 and F1 = 1.
می خواهیم با استفاده از حلقه while ده عدد از سری فیبوناچی را چاپ کنیم.
n = 10
num1 = 0
num2 = 1
next_number = num2
count = 1
while count <= n:
print(next_number, end=" ")
count += 1
num1, num2 = num2, next_number
next_number = num1 + num2
print()
خروجی:
1 2 3 5 8 13 21 34 55 89
و حالا به صورت بازگشتی کدی مینویسیم که یک عدد فیبوناچی مورد نظر (که در اینجا عدد شماره 9 است) را تولید کند:
def Fibonacci(n):
# Check if input is 0 then it will
# print incorrect input
if n < 0:
print("Incorrect input")
# Check if n is 0
# then it will return 0
elif n == 0:
return 0
# Check if n is 1,2
# it will return 1
elif n == 1 or n == 2:
return 1
else:
return Fibonacci(n-1) + Fibonacci(n-2)
# Driver Program
print(Fibonacci(9))
خروجی:
34
کد بهینه شده سری اعداد فیبوناچی:
# Function for nth fibonacci number
def fibonacci(n):
a = 0
b = 1
# Check is n is less
# than 0
if n < 0:
print("Incorrect input")
# Check is n is equal
# to 0
elif n == 0:
return 0
# Check if n is equal to 1
elif n == 1:
return b
else:
for i in range(1, n):
c = a + b
a = b
b = c
return b
# Driver Program
print(fibonacci(9))

ببخشید ممکنه فایل پایتون رو هم بذارین. ممنون میشم