مدرسه زبان برنامه‌نویسی PYTHON

وبلاگی جهت معرفی - آموزش و تحلیل زبان برنامه نویسی ‍پایتون

مدرسه زبان برنامه‌نویسی PYTHON

وبلاگی جهت معرفی - آموزش و تحلیل زبان برنامه نویسی ‍پایتون

۲ مطلب با کلمه‌ی کلیدی «فیبوناچی در پایتون» ثبت شده است

اعداد فیبوناچی اعدادی هستند که به صورت سری مقابل نوشته می شوند. 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))

 

۲ نظر موافقین ۰ مخالفین ۰ ۳۰ شهریور ۰۳ ، ۱۵:۴۸
سعید دامغانیان

کد زیر یک عدد  رو از ورودی میگیره و جمله خواسته شده  سری فیبونانچی رو چاپ میکنه. دقت کنید که به صورت بازگشتی نوشته شده. سعی کنید روش غیر بازگشتی همین کد رو شما بنویسید.


#Programmer : Saeed Damghanian

#Web : Pyschool.blg.ir


# Function for nth Fibonacci number 

  

def Fibonacci(n): 

    if n<0: 

        print("Incorrect input") 

    # First Fibonacci number is 0 

    elif n==1: 

        return 0

    # Second Fibonacci number is 1 

    elif n==2: 

        return 1

    else: 

        return Fibonacci(n-1)+Fibonacci(n-2) 

  

# Driver Program 


n=int(input("Pleas Enter n: "))  

print(Fibonacci(n)) 

  


#------------Telegram: @Ghoghnous_Iran-----------------------




b444745_Untitled.png

۲ نظر موافقین ۰ مخالفین ۰ ۳۰ تیر ۹۸ ، ۰۶:۳۹
سعید دامغانیان