728x90 AdSpace

Latest News
Saturday, February 10, 2018

Dãy số Fibonacci trong java

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, …
Có 2 cách để viết chương trình dãy số Fibonacci trong java
  • Tính dãy số Fibonacci trong java không dùng phương pháp đệ quy
  • Tính dãy số Fibonacci trong java 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:
package vn.viettuts.baitap;
/**
 * Tính số fibonacci KHÔNG dùng phương pháp đệ quy
 
 * @author viettuts.vn
 */
public class FibonacciExample1 {
    /**
     * main
     *
     * @param args
     */
    public static void main(String[] args) {
        System.out.println("10 số đầu tiên của dãy số fibonacci: ");
        for (int i = 0; i < 10; i++) {
            System.out.print(fibonacci(i) + " ");
        }
    }
     
    /**
     * 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) {
        int f0 = 0;
        int f1 = 1;
        int fn = 1;
        if (n < 0) {
            return -1;
        } else if (n == 0 || n == 1) {
            return n;
        } else {
            for (int 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:
File: FibonacciExample2.java
package vn.viettuts.baitap;
/**
 * Tính dãy số Fibonacci bằng phương pháp đệ quy
 
 * @author viettuts.vn
 */
public class FibonacciExample2 {
    /**
     * main
     *
     * @param args
     */
    public static void main(String[] args) {
        System.out.println("10 số đầu tiên của dãy số fibonacci: ");
        for (int i = 0; i < 10; i++) {
            System.out.print(fibonacci(i) + " ");
        }
    }
     
    /**
     * 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 
  • Blogger Comments
  • Facebook Comments

0 comments:

Post a Comment

Item Reviewed: Dãy số Fibonacci trong java Rating: 5 Reviewed By: Genm