Dãy Fibonacci C++
Dãy Fibonacci trong C: Chương trình C cho dãy Fibonacci sử dụng vòng lặp và đệ quy. Sử dụng mã bên dưới, bạn có thể in bao nhiêu cụm từ của dãy theo yêu cầu. Các số của chuỗi này được gọi là số Fibonacci. Một vài số đầu tiên của chuỗi là 0, 1, 1, 2, 3, 5, 8, ...,. Ngoại trừ hai thuật ngữ đầu tiên của dãy thì mỗi cụm từ khác là tổng của hai cụm từ trước, ví dụ: 8 = 3 + 5 (bổ sung 3 và 5). Show Dãy Fibonacci là một dãy trong đó thuật ngữ tiếp theo là tổng của hai thuật ngữ có thể qua được. Hai thuật ngữ đầu tiên của dãy Fibonacci là 0 theo sau là 1. Chuỗi Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, 21 1. Chương trình in dãy Fibonacci không sử dụng hàm đệ qui trong CVí dụ cho chạy chương trình sau: #include int main() { int i, n, t1 = 0, t2 = 1, nextTerm; printf("Enter the number of terms: "); scanf("%d", &n); printf("Fibonacci Series: "); for (i = 1; i <= n; ++i) { printf("%d, ", t1); nextTerm = t1 + t2; t1 = t2; t2 = nextTerm; } return 0; } Kết quả: 2. Chương trình in dãy Fibonacci sử dụng hàm đệ qui trong CChương trình ví dụ: #include int main() { int t1 = 0, t2 = 1, nextTerm = 0, n; printf("Enter a positive number: "); scanf("%d", &n); // displays the first two terms which is always 0 and 1 printf("Fibonacci Series: %d, %d, ", t1, t2); nextTerm = t1 + t2; while(nextTerm <= n) { printf("%d, ",nextTerm); t1 = t2; t2 = nextTerm; nextTerm = t1 + t2; } return 0; } Kết quả: Phương thức đệ quy kém hiệu quả hơn vì nó liên quan đến các cuộc gọi hàm lặp lại và có khả năng tràn ngăn xếp vì hàm này thường được gọi để tính các số Fibonacci lớn hơn. Trong bài viết này chúng ta sẽ giải bài tập in ra dãy số fibonacci bằng ngôn ngữ lập trình C. Thông thường với bài toán này thì ta hay sử dụng giải thuật đệ quy. Tuy nhiên bạn cũng có thể sử dụng vòng lặp while để giải quyết một cách dễ dàng. Vi dụ người dùng yêu cầu in ra 6 số đầu tiên thì kết quả là: "0, 1, 1, 2, 3, 5". Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Vậy trong bài này bạn sẽ áp dụng hai kiến thức như sau:
Dãy số fibonacci là gi? Đó là số mà tổng của hai số fibonacci đằng trước bằng chính nó. Hai số đầu tiên ngoại lệ là 0 và 1. I. In dãy số fibonacci bằng vòng lặp whileVòng lặp while ta sẽ không thể biết được số lần lặp, vì vậy có thể sử dụng để thay thế cho các bài toán đệ quy, hay còn gọi là khử đệ quy. Fibonacci là dãy số kinh điển trong toán học được tìm thấy cách đây hơn 800 năm. Đến nay các nhà khoa học phát hiện nhiều trùng hợp thú vị về dãy số này trong tự nhiên. Dãy Fibonacci là dãy vô hạn các số tự nhiên bắt đầu bằng 1 và 1, sau đó các số tiếp theo sẽ bằng tổng của 2 số liền trước nó. Cụ thể, các số đầu tiên của dãy Fibonacci là 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610… Xem thêm hình minh họa dưới đây để hiểu thêm về dãy Fibonacci. Trong bài viết này chúng ta sẽ thực hiện viết thuật toán cho chương trình tính số Fibonacci.
Sử dụng đệ quy để tính FibonacciĐối với cách này đòi hỏi bạn cần phải nắm rõ về cách hoạt động của hàm Đệ quy, nếu bạn vẫn chưa biết về đệ quy có thể theo dõi ở các bài viết tiếp theo mình sẽ có bài viết cụ thể. Chương trình minh họa #include |