ก่อนที่จะดูโปรแกรมชุดฟีโบนัชชีในภาษา Java เรามาสำรวจว่าวิธีทางคณิตศาสตร์ในการคำนวณตัวเลขฟีโบนักชีคืออะไร
“อนุกรมฟีโบนักชีเกิดขึ้นเมื่อเรารวมตัวเลขสองตัวสุดท้ายติดต่อกันของลำดับที่ขึ้นต้นด้วย 0 และ 1”
กล่าวอีกนัยหนึ่ง เราสามารถพูดได้ว่า ในลำดับฟีโบนัชชี จำนวนถัดไปจะเท่ากับผลรวมของตัวเลขสองตัวสุดท้าย ตัวอย่างเช่น 0, 1, 1, 2, 3, 5, 8, 13, 21, 34... หากเราดูอนุกรมข้างต้น การคำนวณทางคณิตศาสตร์ก็ดูค่อนข้างง่าย คุณเพียงแค่เอาตัวเลขฟีโบนัชชีสองตัวสุดท้ายมาบวกกัน เท่านี้ก็เรียบร้อย ผลที่ได้คือเลขล่าสุดในซีรีย์ ดังนั้นตัวเลขถัดไปในลำดับฟีโบนัชชีจะเป็น 21 + 34 = 55 อย่างไรก็ตาม ใน Java มีอัลกอริธึมหลายอย่างให้ทำเช่นนั้น มาดูวิธีที่เป็นไปได้ของเรากัน
ชุด Fibonacci ใน Java [ วิธีการวนซ้ำ ]
วิธีแรกและพื้นฐานที่สุดในการคำนวณโปรแกรมชุดฟีโบนัชชีใน Java คือการใช้วิธีการวนซ้ำ ตามชื่อที่แนะนำ เราจะวนซ้ำซีรีส์โดยใช้การวนซ้ำ มาเจาะลึกในตัวอย่างต่อไปนี้กันตัวอย่าง
public class IterativeFibonacci {
public static void fibonacci(int MAX) {
int firstNumber = 0;
int secondNumber = 1;
int fibonacci = '\0';
System.out.print(firstNumber + " ");
System.out.print(secondNumber + " ");
for (int i = 2; i < MAX; i++) {
fibonacci = firstNumber + secondNumber;
System.out.print(fibonacci + " ");
firstNumber = secondNumber;
secondNumber = fibonacci;
}
}
public static void main(String[] args) {
System.out.println("Print Fibonacci Series Using Iterative Method");
int MAX = 15;
fibonacci(MAX);
}
}
เอาท์พุต
พิมพ์ชุดฟีโบนัชชีโดยใช้วิธีวนซ้ำ 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
คำอธิบาย
ในตัวอย่างข้างต้น เรากำลังใช้วิธีการที่เรียกว่า " fibonacci " เพื่อพิมพ์ชุดฟีโบนักชีซ้ำๆ ตัวแปรMAXจะเก็บจำนวนหมายเลขฟีโบนัชชีทั้งหมดที่คุณต้องการพิมพ์ ตัวแปรสองตัวfirstNumberและSecondNumberจะเก็บตัวเลขฟีโบนัชชีสองตัวแรกตามลำดับ จากนั้นfor loop จะขึ้นต้นด้วย i = 2 เนื่องจากหมายเลขฟีโบนัชชีตัวแรกและตัวที่สองถูกพิมพ์ไว้แล้ว ในการวนซ้ำแต่ละครั้ง หมายเลขตัวแรกและตัวที่สองจะได้รับการอัปเดตเพื่อให้ซีรีส์ดำเนินต่อไป การวนซ้ำจะสิ้นสุดลงเมื่อเข้าใกล้ขีดจำกัด MAX เช่น; ฉัน < สูงสุดชุด Fibonacci โดยใช้การเรียกซ้ำใน Java
เนื่องจากคุณคุ้นเคยกับวิธีการวนซ้ำแล้ว มาคำนวณอนุกรมฟีโบนัชชีโดยใช้การเรียกซ้ำใน Java กันดีกว่าตัวอย่าง
public class RecursiveFibonacci {
// recursive method to return the fibonacci series
public static int fibonacci(int MAX) {
// base case
if (MAX <= 1) {
return MAX;
}
// recursive call
else {
// calculate the last two fibonacci numbers recursively
return fibonacci(MAX - 2) + fibonacci(MAX - 1);
}
}
public static void main(String[] args) {
System.out.println("Print Fibonacci Series Using Recursion in Java");
int MAX = 10;
for (int i = 0; i < MAX; i++) {
System.out.print(fibonacci(i) + " ");
}
}
}
เอาท์พุต
พิมพ์ซีรี่ส์ Fibonacci โดยใช้การเรียกซ้ำใน Java 0 1 1 2 3 5 8 13 21 34
GO TO FULL VERSION