Hướng dẫn fibonacci series algorithm in python - thuật toán chuỗi fibonacci trong python

Trong chương trình này, bạn sẽ học cách in trình tự Fibonacci bằng cách sử dụng vòng lặp.

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình Python sau:

  • Python nếu ... tuyên bố khác
  • Python trong khi vòng lặp

Trình tự Fibonacci là chuỗi số nguyên là 0, 1, 1, 2, 3, 5, 8 ....

Hai thuật ngữ đầu tiên là 0 và 1. Tất cả các thuật ngữ khác có được bằng cách thêm hai thuật ngữ trước đó. Điều này có nghĩa là để nói thuật ngữ thứ n là tổng của (n-1) và thuật ngữ (n-2).

Mã nguồn

# Program to display the Fibonacci sequence up to n-th term

nterms = int(input("How many terms? "))

# first two terms
n1, n2 = 0, 1
count = 0

# check if the number of terms is valid
if nterms <= 0:
   print("Please enter a positive integer")
# if there is only one term, return n1
elif nterms == 1:
   print("Fibonacci sequence upto",nterms,":")
   print(n1)
# generate fibonacci sequence
else:
   print("Fibonacci sequence:")
   while count < nterms:
       print(n1)
       nth = n1 + n2
       # update values
       n1 = n2
       n2 = nth
       count += 1

Đầu ra

How many terms? 7
Fibonacci sequence:
0
1
1
2
3
5
8

Ở đây, chúng tôi lưu trữ số lượng các điều khoản trong NTERMS. Chúng tôi khởi tạo thuật ngữ đầu tiên thành 0 và thuật ngữ thứ hai thành 1.

Nếu số thuật ngữ là nhiều hơn 2, chúng tôi sử dụng vòng lặp while để tìm thuật ngữ tiếp theo trong chuỗi bằng cách thêm hai thuật ngữ trước đó. Sau đó, chúng tôi trao đổi các biến (cập nhật nó) và tiếp tục với quy trình.

Bạn cũng có thể giải quyết vấn đề này bằng chương trình đệ quy: Python để in trình tự Fibonacci bằng cách sử dụng đệ quy.

Câu hỏi thường gặp

      • Các thuộc tính của loạt Fibonacci là gì?
      • Sê-ri Fibonacci có một số thuộc tính, bao gồm: Số lượng trong chuỗi là tổng của hai số trước đó.-Hai số đầu tiên trong chuỗi là 0 và 1.
      • Công thức loạt Fibonacci
      • Fibonacci xoắn ốc
      • Thuật toán sê -ri Fibonacci
        • Cách tiếp cận lặp
        • Cách tiếp cận đệ quy
        • Phương pháp lập trình động
        • Cách tiếp cận lặp
        • Cách tiếp cận đệ quy
        • Phương pháp lập trình động
      • Lưu trữ giá trị trước đó trong B
      • Chạy cho vòng lặp trong phạm vi [2, num]

Tính toán giá trị mảng [i] = mảng [i-1] +mảng [i-2]

  1. Mảng có trình tự được tính toán cho đến khi n
  2. Do đó, giải pháp sẽ là tính toán giá trị một lần và lưu trữ nó trong một mảng từ nơi có thể truy cập vào lần tiếp theo. Do đó, chúng tôi sử dụng lập trình động trong các trường hợp như vậy. Các điều kiện để thực hiện lập trình động là1. Các vấn đề phụ chồng chéo2. Cấu trúc tối ưu
  3. Công thức loạt Fibonacci
  4. Fibonacci xoắn ốc
  5. Kiểm tra mã
  6. Đầu ra: Cách tiếp cận lặp: 0 1 1 2 3
    a. Fibonacci Series Using loop
    b. Fibonacci Series using Recursion
    c. Fibonacci Series using Dynamic Programming
  7. Lưu trữ giá trị trước đó trong B

Lưu trữ tổng số trong một

Sê -ri Fibonacci là gì?

Sê -ri Fibonacci là một mô hình của các số trong đó mỗi số kết quả từ việc thêm hai số cuối cùng liên tiếp. 2 số đầu tiên bắt đầu bằng 0 và 1 và số thứ ba trong chuỗi là 0+1 = 1. Số thứ 4 là việc bổ sung số thứ 2 và thứ 3, tức là, 1+1 = 2, v.v. 21, 34,…
The Fibonacci Sequence is the series of numbers:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …

Logic của loạt Fibonacci

Số sau là tổng của hai số trước nó. Phần tử thứ 3 là (1+0) = 1 phần tử thứ 4 là (1+1) = 2 Phần tử thứ 5 là (2+1) = 3
The 3rd element is (1+0) = 1
The 4th element is (1+1) = 2
The 5th element is (2+1) = 3

Công thức loạt Fibonacci

Do đó, công thức tính toán chuỗi như sau: xn = xn-1 + xn-2; trong đó là số thuật ngữ "N"-1 là thuật ngữ trước đó (n-1) xn-2 là thuật ngữ trước đó
xn = xn-1 + xn-2 ; where
xn is the term number “n”
xn-1 is the previous term (n-1)
xn-2 is the term before that

Fibonacci xoắn ốc

Một tài sản thú vị về những con số này là chúng ta có được một vòng xoắn ốc khi chúng ta tạo ra các hình vuông với những chiều rộng này. A & nbsp; fibonacci xoắn ốc & nbsp; là một mô hình vòng tròn được kết nối bên trong một khối hình vuông với & nbsp; fibonacci & nbsp; số được viết trong mỗi khối. Số lượng trong hình vuông khổng lồ là tổng của 2 hình vuông nhỏ hơn sau. Đây là một sự sắp xếp hoàn hảo trong đó mỗi khối được biểu thị số cao hơn hai khối trước đó. Ý tưởng chính đã được bắt nguồn từ mẫu logarit, cũng trông giống nhau. Những con số này cũng liên quan đến tỷ lệ vàng.

Hướng dẫn fibonacci series algorithm in python - thuật toán chuỗi fibonacci trong python
Sê -ri Fibonacci

Tìm hiểu cách tìm nếu một chuỗi là một palindrom trong Python

Thuật toán sê -ri Fibonacci

Cách tiếp cận lặp

  • Khởi tạo các biến A, B đến 1
  • Khởi tạo cho vòng lặp trong phạm vi [1, n) # n độc quyền
  • Tính số tiếp theo trong loạt; Tổng cộng = A+B
  • Lưu trữ giá trị trước đó trong B
  • Lưu trữ tổng số trong một

Cách tiếp cận đệ quy

  • Nếu n bằng 1 hoặc 0; Trả lại 1
  • Other trả về fib (n-1) + fib (n-2)

Phương pháp lập trình động

  • Khởi tạo một mảng mảng có kích thước n thành số không
  • Nếu n bằng 0 hoặc 1; trả lại 1 khác
  • Khởi tạo ARR [0] và ARR [1] đến 1
  • Chạy cho vòng lặp trong phạm vi [2, num]
  • Tính toán giá trị mảng [i] = mảng [i-1] +mảng [i-2]
  • Mảng có trình tự được tính toán cho đến khi n

Do đó, giải pháp sẽ là tính toán giá trị một lần và lưu trữ nó trong một mảng từ nơi có thể truy cập vào lần tiếp theo. Do đó, chúng tôi sử dụng lập trình động trong các trường hợp như vậy. Các điều kiện để thực hiện lập trình động là1. Các vấn đề phụ chồng chéo2. Cấu trúc tối ưu
1. overlapping sub-problems
2. optimal substructure

Cách tiếp cận lặp

def fib_iter(n):
    a=1
    b=1
    if n==1:
        print('0')
    elif n==2:
        print('0','1')
    else:
        print("Iterative Approach: ", end=' ')
        print('0',a,b,end=' ')
        for i in range(n-3):
            total = a + b
            b=a
            a= total
            print(total,end=' ')
        print()
        return b
        
fib_iter(5)

Khởi tạo các biến A, B đến 1

Khởi tạo cho vòng lặp trong phạm vi [1, n) # n độc quyền

Cách tiếp cận đệ quy

def fib_rec(n):
    if n == 1:
        return [0]
    elif n == 2:
        return [0,1]
    else:
        x = fib_rec(n-1)
        # the new element the sum of the last two elements
        x.append(sum(x[:-3:-1]))
        return x
x=fib_rec(5)
print(x)

Khởi tạo các biến A, B đến 1

Khởi tạo cho vòng lặp trong phạm vi [1, n) # n độc quyền

Phương pháp lập trình động

There is a slight modification to the iterative approach. We use an additional array.

def fib_dp(num):
    arr = [0,1]
    print("Dynamic Programming Approach: ",end= ' ')
    if num==1:
        print('0')
    elif num==2:
        print('[0,','1]')
    else:
        while(len(arr)

Khởi tạo các biến A, B đến 1

Khởi tạo cho vòng lặp trong phạm vi [1, n) # n độc quyền

Tính số tiếp theo trong loạt; Tổng cộng = A+B

Lưu trữ giá trị trước đó trong B

Lưu trữ tổng số trong một

Cách tiếp cận đệ quy
-Each number in the series is the sum of the two preceding numbers.
-The first two numbers in the series are 0 and 1.

Nếu n bằng 1 hoặc 0; Trả lại 1

Other trả về fib (n-1) + fib (n-2)
-It can be used to model the growth of populations of animals.
-It can be used to calculate the Golden Ratio, which is used in architecture and art.
-It can be used in computer programming to generate efficient algorithms.

Phương pháp lập trình động

Khởi tạo một mảng mảng có kích thước n thành số không

Nếu n bằng 0 hoặc 1; trả lại 1 khác

Khởi tạo ARR [0] và ARR [1] đến 1

Chạy cho vòng lặp trong phạm vi [2, num]

  1. Tính toán giá trị mảng [i] = mảng [i-1] +mảng [i-2]
  2. Mảng có trình tự được tính toán cho đến khi n
  3. Do đó, giải pháp sẽ là tính toán giá trị một lần và lưu trữ nó trong một mảng từ nơi có thể truy cập vào lần tiếp theo. Do đó, chúng tôi sử dụng lập trình động trong các trường hợp như vậy. Các điều kiện để thực hiện lập trình động là1. Các vấn đề phụ chồng chéo2. Cấu trúc tối ưu
  4. Kiểm tra mã

Thuật toán cho sê -ri Fibonacci là gì?

Ví dụ, hãy để F0 và F1 biểu thị hai thuật ngữ đầu tiên của loạt Fibonacci.Sau đó, đặt F0 = 0 và F1 = 1. ... Phân tích độ phức tạp của chuỗi Fibonacci:.

Sê -ri Fibonacci trong Python W3Schools là gì?

Chương trình Python để tính toán chuỗi Fibonacci bằng cách sử dụng chức năng.Ví dụ: def fibo (n): a = 0 b = 1 cho i trong phạm vi (0, n): temp = a a = b b = temp + b return a # Hiển thị 13 số fibonacci đầu tiên.cho C trong phạm vi (0, 13): in (fibo (c)) #function gọi.Calculates The Fibonacci Series By Using Function. Example: def fibo(n): a = 0 b = 1 for i in range(0, n): temp = a a = b b = temp + b return a # Show the first 13 Fibonacci numbers. for c in range(0, 13): print(fibo(c)) #Function call.