Viết chương trình c 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, ...
Lời giải
Có 2 cách để viết chương trình dãy số Fibonacci trong C
- Tính dãy số Fibonacci trong C không dùng phương pháp đệ quy
- Tính dãy số Fibonacci trong C sử dụng phương pháp đệ quy
Tính dãy số Fibonacci không dùng phương pháp đệ quy
Ví dụ chương trình tính dãy số Fibonacci không sử dụng phương pháp đệ quy:
File: FibonacciExample1.c
/** * Tinh day so Fibonacci KHONG dung phuong phap de quy * * @author viettuts.vn */ #include /** * Tinh so Fibonacci thu n * * @param n: chi so cua so Fibonacci tinh tu 0 * vd: F0 = 0, F1 = 1, F2 = 1, F3 = 2 * @return So Fibonacci thu n */ int fibonacci[int n] { int f0 = 0; int f1 = 1; int fn = 1; int i; if [n < 0] { return -1; } else if [n == 0 || n == 1] { return n; } else { for [i = 2; i < n; i++] { f0 = f1; f1 = fn; fn = f0 + f1; } } return fn; } /** * Ham main */ int main[] { int i; printf["10 so dau tien cua day so Fibonacci: \n"]; for [i = 0; i < 10; i++] { printf["%d ", fibonacci[i]]; } }
Kết quả:
10 so dau tien cua day so Fibonacci: 0 1 1 2 3 5 8 13 21 34
Tính dãy số Fibonacci sử dụng phương pháp đệ quy
Ví dụ chương trình tính dãy số Fibonacci sử dụng phương pháp đệ quy:
File: FibonacciExample2.c
/** * Tinh day so Fibonacci bang phuong phap de quy * * @author viettuts.vn */ #include /** * Tinh so Fibonacci thu n * * @param n: chi so cua so Fibonacci tinh tu 0 * vd: F0 = 0, F1 = 1, F2 = 1, F3 = 2 * @return So Fibonacci thu n */ int fibonacci[int n] { if [n < 0] { return -1; } else if [n == 0 || n == 1] { return n; } else { return fibonacci[n - 1] + fibonacci[n - 2]; } } /** * Ham main */ int main[] { int i; printf["10 so dau tien cua day so Fibonacci: \n"]; for [i = 0; i < 10; i++] { printf["%d ", fibonacci[i]]; } }
Kết quả:
10 số đầu tiên của dãy số fibonacci: 0 1 1 2 3 5 8 13 21 34
Viết chương trình c 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, ...
Lời giải
Có 2 cách để viết chương trình dãy số Fibonacci trong C++
- Tính dãy số Fibonacci trong C++ không dùng phương pháp đệ quy
- Tính dãy số Fibonacci trong C++ sử dụng phương pháp đệ quy
Tính dãy số Fibonacci không dùng phương pháp đệ quy
Ví dụ chương trình tính dãy số Fibonacci không sử dụng phương pháp đệ quy:
File: FibonacciExample1.cpp
/** * Tinh day so Fibonacci KHONG dung phuong phap de quy * * @author viettuts.vn */ #include using namespace std; /** * Tinh so Fibonacci thu n * * @param n: chi so cua so Fibonacci tinh tu 0 * vd: F0 = 0, F1 = 1, F2 = 1, F3 = 2 * @return So Fibonacci thu n */ int fibonacci[int n] { int f0 = 0; int f1 = 1; int fn = 1; int i; if [n < 0] { return -1; } else if [n == 0 || n == 1] { return n; } else { for [i = 2; i < n; i++] { f0 = f1; f1 = fn; fn = f0 + f1; } } return fn; } /** * Ham main */ int main[] { int i; cout