VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • Python
  • PHP
  • Eclipse
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Phần mềm tiện ích
    • Cấu trúc dữ liệu và giải thuật
    • Học lập trình C#
    • Selenium Test
Python cơ bản Câu Lệnh Điều Khiển

Bài tập Python

Bài tập Python có lời giải

Các ví dụ kinh điển

Giải phương trình bậc 2 trong Python Tính giai thừa trong Python Chuyển đổi hệ cơ số trong Python Dãy so Fibonacci trong Python Tìm UCLN và BCNN Liệt kê tất cả số nguyên tố nhỏ hơn n Liệt kê n số nguyên tố đầu tiên Liệt kê tất cả số nguyên tố có 5 chữ số Phân tích số nguyên n thành tích các số nguyên tố Tính tổng của các chữ số của một số nguyên n Tìm số thuận nghịch Liệt kê số Fibonacci nhỏ hơn n là nguyên tố
Python Tkinter(GUI) Python Web Blocker Python Numpy Python Django Python Flask Bài tập Python có lời giải

Dãy số Fibonacci trong Python


Bài tập Python có lời giải
Tính giai thừa trong Python

Nội dung chính

  • Đề bài
  • Lời giải
  • 1. Tính dãy số Fibonacci không dùng hàm đệ quy
  • 2. Tính dãy số Fibonacci sử dụng hàm đệ quy

Đề bài

Hãy viết chương trình tìm n số Fibonacci đầu tiên.

Quy luật của dãy số Fibonacci: số tiếp theo bằng tổng của 2 số trước, 2 số đầu tiên của dãy số là 0, 1. Ví dụ: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...


Dãy số Fibonacci trong Python

Lời giải

Có 2 cách để viết chương trình dãy số Fibonacci trong python

  • Tính dãy số Fibonacci trong python không dùng phương pháp đệ quy
  • Tính dãy số Fibonacci trong python sử dụng phương pháp đệ quy

1. Tính dãy số Fibonacci không dùng hàm đệ quy

Ví dụ chương trình tính dãy số Fibonacci không sử dụng hàm đệ quy:


"""
 * Tính số fibonacci thứ n
 *
 * @param n: chỉ số của số fibonacci tính từ 0
 *           vd: F0 = 0, F1 = 1, F2 = 1, F3 = 2
 * @return số fibonacci thứ n
 """
def fibonacci(n):
    f0 = 0;
    f1 = 1;
    fn = 1;

    if (n < 0):
        return -1;
    elif (n == 0 or n == 1):
        return n;
    else:
        for i in range(2, n):
            f0 = f1;
            f1 = fn;
            fn = f0 + f1;
        return fn;

print("10 số đầu tiên của dãy số fibonacci: ");
sb = "";
for i in range(0, 10):
    sb = sb + str(fibonacci(i)) + ", ";
print(sb)

Kết quả:

10 số đầu tiên của dãy số fibonacci: 
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 


2. Tính dãy số Fibonacci sử dụng hàm đệ quy

Ví dụ chương trình tính dãy số Fibonacci sử dụng hàm đệ quy:


"""
 * Tính số fibonacci thứ n
 *
 * @param n: chỉ số của số fibonacci tính từ 0
 *           vd: F0 = 0, F1 = 1, F2 = 1, F3 = 2
 * @return số fibonacci thứ n
"""
def fibonacci(n):
    if (n < 0):
        return -1;
    elif (n == 0 or n == 1):
        return n;
    else:
        return fibonacci(n - 1) + fibonacci(n - 2);

print("10 số đầu tiên của dãy số fibonacci: ");
sb = "";
for i in range(0, 10):
    sb = sb + str(fibonacci(i)) + ", ";
print(sb)

Kết quả:

10 số đầu tiên của dãy số fibonacci: 
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 

Bài tập Python có lời giải
Tính giai thừa trong Python

Recent Updates

Bài tập Python có lời giảiPython -Tính tổng của các chữ số của môt số nguyên nPython - Phân tích số nguyên n thành tích các số nguyên tốLiệt kê tất cả số nguyên tố có 5 chữ số trong PythonLiệt kê n số nguyên tố đầu tiên trong PythonPython - Liệt kê tất cả các số nguyên tố nhỏ hơn nPython - Tìm ước số chung lớn nhất và bội số chung nhỏ nhất của 2 số nguyên dươngTìm số thuận nghịch trong PythonPython - Liệt kê số Fibonacci nhỏ hơn n và là số nguyên tốDãy số Fibonacci trong PythonChuyển đổi hệ cơ số trong PythonTính giai thừa trong Python

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn

Danh sách bài học

Học java
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

Câu hỏi phỏng vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | VietTuts.Vn team | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml