Dãy số Fibonacci trong C#
previous Nội dung chính Đề bài Lời giải Tính dãy số Fibonacci không dùng phương pháp đệ quy Tính dãy số Fibonacci sử dụng phương pháp đệ quy Đề bài Viết chương trình tìm n số Fibonacci đầu tiên trong C#. Số nguyên dương n được nhập từ bàn phím. ...
Nội dung chính
- Đề bài
- Lời giải
- Tính dãy số Fibonacci không dùng phương pháp đệ quy
- Tính dãy số Fibonacci sử dụng phương pháp đệ quy
Đề bài
Viết chương trình tìm n số Fibonacci đầu tiên trong C#. Số nguyên dương n được nhập từ bàn phím.
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:
using System; namespace VietTutsCsharp { class Program { static void Main(string[] args) { int i; Console.Write("10 so dau tien cua day so Fibonacci: "); for (i = 0; i < 10; i++) { Console.Write("{0} ", fibonacci(i)); } Console.WriteLine(); Console.ReadKey(); } /** * 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 */ static 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; } } }
Kết quả:
10 số đầu tiên của dãy số 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:
using System; namespace VietTutsCsharp { class Program { static void Main(string[] args) { int i; Console.Write("10 so dau tien cua day so Fibonacci: "); for (i = 0; i < 10; i++) { Console.Write("{0} ", fibonacci(i)); } Console.WriteLine(); Console.ReadKey(); } /** * 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 */ public static 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); } } } }
Kết quả:
10 số đầu tiên của dãy số fibonacci: 0 1 1 2 3 5 8 13 21 34