×

Cách Tính Số Fibonacci Thứ N Trong C#

Để tìm số Fibonacci thứ n trong C#, bạn có thể sử dụng hai phương pháp chính: sử dụng đệ quy hoặc sử dụng vòng lặp. Dưới đây là mã nguồn minh họa cho cả hai phương pháp.

Phương pháp 1: Sử dụng đệ quy

using System;

class Program
{
    static void Main()
    {
        // Nhập vào giá trị n từ người dùng
        Console.Write("Nhập vào giá trị n: ");
        int n = int.Parse(Console.ReadLine());

        // Tính số Fibonacci thứ n bằng đệ quy
        long fibonacci = FibonacciRecursive(n);

        // In ra kết quả
        Console.WriteLine($"Số Fibonacci thứ {n} là: {fibonacci}");
    }

    static long FibonacciRecursive(int n)
    {
        if (n <= 0)
        {
            return 0;
        }
        else if (n == 1)
        {
            return 1;
        }
        else
        {
            return FibonacciRecursive(n - 1) + FibonacciRecursive(n - 2);
        }
    }
}

Phương pháp 2: Sử dụng vòng lặp

using System;

class Program
{
    static void Main()
    {
        // Nhập vào giá trị n từ người dùng
        Console.Write("Nhập vào giá trị n: ");
        int n = int.Parse(Console.ReadLine());

        // Tính số Fibonacci thứ n bằng vòng lặp
        long fibonacci = FibonacciIterative(n);

        // In ra kết quả
        Console.WriteLine($"Số Fibonacci thứ {n} là: {fibonacci}");
    }

    static long FibonacciIterative(int n)
    {
        if (n <= 0)
        {
            return 0;
        }

        long a = 0;
        long b = 1;
        for (int i = 2; i <= n; i++)
        {
            long temp = a + b;
            a = b;
            b = temp;
        }

        return b;
    }
}

Giải thích:

  • Nhập vào giá trị n từ người dùng:

    • Console.ReadLine(): Đọc dòng nhập từ bàn phím.
    • int.Parse(): Chuyển đổi chuỗi nhập vào thành số nguyên.
  • Tính số Fibonacci thứ n bằng đệ quy:

    • FibonacciRecursive: Hàm đệ quy tính số Fibonacci.
    • if (n <= 0): Điều kiện cơ sở, trả về 0 nếu n <= 0.
    • else if (n == 1): Điều kiện cơ sở, trả về 1 nếu n == 1.
    • else: Gọi đệ quy để tính số Fibonacci.
  • Tính số Fibonacci thứ n bằng vòng lặp:

    • FibonacciIterative: Hàm vòng lặp tính số Fibonacci.
    • if (n <= 0): Trả về 0 nếu n <= 0.
    • long a = 0; long b = 1;: Khởi tạo hai giá trị đầu tiên của dãy Fibonacci.
    • for (int i = 2; i <= n; i++): Vòng lặp từ 2 đến n để tính số Fibonacci.
    • long temp = a + b; a = b; b = temp;: Tính toán số Fibonacci tiếp theo.

Cách chạy chương trình:

  1. Sử dụng Visual Studio:
    • Mở Visual Studio.
    • Tạo một dự án mới: File -> New -> Project -> Chọn "Console App (.NET Core)" hoặc "Console App (.NET Framework)".
    • Sao chép và dán mã nguồn vào tệp Program.cs.
    • Nhấn nút "Start" hoặc "Run" để chạy chương trình.

Comments