Tìm dãy số Fibonacci trong Java

Lập trình Java

Dãy số Fibonacci là một chuỗi các số trong đó mỗi số là tổng của hai số trước đó. Ví dụ: 0, 1, 1, 2, 3, 5, 8, 13, 21, …

Để tìm dãy số Fibonacci trong Java, chúng ta có thể sử dụng vòng lặp hoặc đệ quy.

  1. Sử dụng vòng lặp:
public static void main(String[] args) {
    int n = 10; // số lượng phần tử cần tìm
    int a = 0, b = 1, c;
    
    System.out.print(a + " " + b);

    for (int i = 2; i < n; i++) {
        c = a + b;
        System.out.print(" " + c);
        a = b;
        b = c;
    }
}

Trong đoạn code trên, ta khởi tạo hai số đầu tiên là 0 và 1. Sau đó sử dụng vòng lặp for để tính và in ra n số Fibonacci tiếp theo.

  1. Sử dụng đệ quy:
public static int fibonacci(int n) {
    if (n == 0 || n == 1) {
        return n;
    } else {
        return fibonacci(n-1) + fibonacci(n-2);
    }
}

public static void main(String[] args) {
    int n = 10; // số lượng phần tử cần tìm

    for (int i = 0; i < n; i++) {
        System.out.print(fibonacci(i) + " ");
    }
}

Trong đoạn code trên, ta sử dụng phương thức đệ quy để tính toán số Fibonacci tại vị trí n. Nếu n = 0 hoặc n = 1, ta trả về n. Nếu không, ta sẽ tính số Fibonacci tại vị trí n-1 và n-2, rồi cộng lại với nhau.

Sau đó, trong hàm main, ta sử dụng vòng lặp for để in ra n số Fibonacci đầu tiên.

Dưới đây là đoạn code Java để tìm dãy số Fibonacci từ 1 đến n:

import java.util.Scanner;

public class FibonacciExample {
    public static void main(String[] args) {
        // Nhập vào số n từ người dùng
        Scanner input = new Scanner(System.in);
        System.out.print("Nhập vào số n: ");
        int n = input.nextInt();

        // Tìm dãy Fibonacci từ 1 đến n
        int fib1 = 0, fib2 = 1, fib3;
        System.out.print("Dãy Fibonacci từ 1 đến " + n + ": ");
        System.out.print(fib1 + " " + fib2 + " ");
        for (int i = 2; i < n; i++) {
            fib3 = fib1 + fib2;
            System.out.print(fib3 + " ");
            fib1 = fib2;
            fib2 = fib3;
        }
    }
}

Khi chạy chương trình, người dùng sẽ được yêu cầu nhập vào số n và sau đó chương trình sẽ tìm và in ra dãy Fibonacci từ 1 đến n. Ví dụ, nếu người dùng nhập vào số 10, chương trình sẽ in ra dãy số Fibonacci từ 1 đến 10 như sau:

Nhập vào số n: 10
Dãy Fibonacci từ 1 đến 10: 0 1 1 2 3 5 8 13 21 34

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *