Computer >> Máy Tính >  >> Lập trình >> Java

Fibonacci Java:Hướng dẫn

Hướng dẫn về Thuật toán Java Fibonacci

Chuỗi Fibonacci là một chuỗi trong đó số tiếp theo được tính bằng cách tính tổng của hai số trước đó.

Chuỗi này đã được khẳng định là nổi tiếng trong toán học. Nó cũng xuất hiện trong tự nhiên. Ví dụ, hầu hết các loài hoa có cánh hoa được sắp xếp giống như Trình tự Fibonacci.

Trong hướng dẫn này, chúng ta sẽ nói về cách tính chuỗi số Fibonacci bằng Java. Chúng tôi sẽ hướng dẫn về hai thuật toán Fibonacci Java để giúp bạn bắt đầu.

Chuỗi Fibonacci là gì?

Có thể bạn đã học về Dãy số Fibonacci trong môn toán trung học.

Các số đầu tiên trong Dãy số Fibonacci là 0 và 1. Các số tiếp theo được tính bằng cách cộng hai số đứng trước với nhau. Hãy xem danh sách dài hơn của trình tự:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55

Dãy số này có thể tồn tại mãi mãi tùy thuộc vào số lượng số bạn muốn tính.

Trình tự Fibonacci có thể được triển khai theo hai cách:

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia chương trình đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

  • Sử dụng một hàm lặp
  • Sử dụng thuật toán đệ quy

Chúng ta sẽ xem xét cả hai cách tiếp cận này.

Chương trình Java Fibonacci lặp đi lặp lại

Cách tiếp cận lặp đi lặp lại là nơi tốt nhất để bắt đầu. Lập trình lặp là khi bạn sử dụng một vòng lặp, chẳng hạn như vòng lặp for, để lặp qua một danh sách và thực hiện một tác vụ.

Lập trình lặp đi lặp lại cho phép bạn tự động hóa các thủ tục lặp đi lặp lại. Bởi vì có một công thức rõ ràng về cách tính số tiếp theo trong Chuỗi Fibonacci, chúng ta có thể sử dụng phương pháp lặp lại để triển khai thuật toán.

Hãy bắt đầu bằng cách khai báo một lớp và phương thức cho chương trình của chúng ta. Chúng tôi cũng sẽ xác định ba biến mà chúng tôi sẽ sử dụng cho chương trình của mình.

public class FibonacciSequence {
	public static void main(String[] args) {
		int number = 5, firstTerm = 0, secondTerm = 1;
	}
}

Biến "số" theo dõi số hạng mà chúng ta sẽ tính toán. “FirstTerm” và “secondTerm” lần lượt lưu trữ các giá trị đầu tiên và thứ hai trong chuỗi. Điều này sẽ thay đổi để lưu trữ hai mục trước mục mà chúng tôi vừa tính toán sau này trong chương trình của mình.

Bây giờ, hãy viết một vòng lặp for để tính toán các số Fibonacci tiếp theo trong chuỗi:

for (int i = 0; i < number; ++i) {
	System.out.println(firstTerm);

	int nextNumber = firstTerm + secondTerm;
	firstTerm = secondTerm;
	secondTerm = nextNumber;
}

Đầu tiên, vòng lặp này in ra giá trị của firstTerm. Trong lần lặp đầu tiên, giá trị này là 0. Tiếp theo, vòng lặp tính toán số tiếp theo bằng cách cộng firstTerm và secondTerm với nhau.

Sau đó, mã của chúng ta sẽ gán giá trị của firstTerm cho giá trị của secondTerm. secondTerm trở thành số tiếp theo của chúng ta.

Hãy chạy mã của chúng tôi và xem điều gì sẽ xảy ra:

0
1
1
2
3

Mã của chúng tôi đã tính toán năm giá trị đầu tiên trong chuỗi.

Một chương trình Java Fibonacci đệ quy

Trình tự Fibonacci có thể được tính bằng thuật toán đệ quy. Đây là một hàm gọi chính nó để giải quyết một vấn đề. Thuật toán đệ quy có thể được sử dụng vì có một công thức nhất quán để sử dụng để tính các số trong Chuỗi Fibonacci.

Hãy bắt đầu bằng cách khởi tạo lớp của chúng ta:

class FibonacciSequence {
}

Tiếp theo, chúng ta sẽ viết một hàm sử dụng đệ quy để tính giá trị tiếp theo trong chuỗi:

static void getNextValue(int number, int firstTerm, int secondTerm) {
	if (number > 0) {
		System.out.println(firstTerm);

		int nextNumber = firstTerm + secondTerm;
	firstTerm = secondTerm;
	secondTerm = nextNumber;
	getNextValue(number - 1, firstTerm, secondTerm);
	}
}

Phương thức này thêm các giá trị của firstTerm và secondTerm để tính giá trị tiếp theo. Điều này xảy ra miễn là giá trị của “number” lớn hơn 0. “number” theo dõi số lượng còn lại để tính toán trong chuỗi.

Khi giá trị tiếp theo đã được tính toán, hàm getNextValue () được gọi đệ quy. Lần này, giá trị của "number" bị giảm đi một. Điều này là do mỗi khi hàm được chạy, một số mới được tính toán.

Hãy viết một chương trình chính sử dụng hàm đệ quy của chúng ta và khai báo các biến chúng ta sẽ sử dụng:

public static void main(String args[]) {
	int number = 5, firstTerm = 0, secondTerm = 1;
	getNextValue(number, firstTerm, secondTerm);
}

"Số" phản ánh số lượng giá trị mà chúng tôi muốn tính toán. firstTerm là từ đầu tiên trong danh sách. secondTerm là thuật ngữ thứ hai trong danh sách.

Khi chúng tôi gọi getNextValue phương pháp, tính toán của chúng tôi bắt đầu. Hãy chạy mã của chúng tôi để hiển thị số Fibonacci:

0
1
1
2
3

Năm giá trị đầu tiên trong Chuỗi Fibonacci đã được tính toán!

Kết luận

Chuỗi Fibonacci phổ biến trong toán học, máy tính và tự nhiên. Số tiếp theo trong dãy được tính bằng cách cộng hai số đứng trước với nhau. Dãy số bắt đầu bằng các số 0 và 1.

Chuỗi này có thể được tính toán bằng cách sử dụng phương pháp lặp lại hoặc đệ quy. Bây giờ bạn đã sẵn sàng để tính toán chuỗi Fibonacci trong Java.