Java Core - Dãy số Fibonacci trong java

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 com.hiepsiit.baitap;

public class Fibonacci_ver01 {
	
	private static int fibonacci(int k) {
		int f0 = 0, f1 = 1, fn = 1;
		if(k<0) {
			return -1;
		}else if((k==0)||(k==1)) {
			return k;
		}else {
			for(int i=2; i<k; i++) {
				f0 = f1;
				f1 = fn;
				fn = f0 + f1;
			}
		}
		return fn;
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("10 số đầu tiên trong dãy Fibonacci:");
		for(int i=0; i<10; i++) {
			System.out.print(String.valueOf(fibonacci(i))+"\t");
		}
	}

}

Kết quả:


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:

package com.hiepsiit.baitap;

public class Fibonacci_ver02 {

	private static int fibonacci(int k) {
		if(k<0) {
			return -1;
		}else if((k==0)||(k==1)) {
			return k;
		}else {
			return tinh_fibonacci(k - 1) + tinh_fibonacci(k - 2);
		}
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("10 số đầu tiên trong dãy Fibonacci:");
		for(int i=0; i<10; i++) {
			System.out.print(String.valueOf(fibonacci(i))+"\t");
		}
	}

}

Kết quả: