CodeGym /จาวาบล็อก /สุ่ม /ชุดฟีโบนัชชีในภาษาชวา
John Squirrels
ระดับ
San Francisco

ชุดฟีโบนัชชีในภาษาชวา

เผยแพร่ในกลุ่ม
ก่อนที่จะดูโปรแกรมชุดฟีโบนัชชีในภาษา 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

คำอธิบาย

ขั้นแรก เรากำหนดจำนวนหลักสูงสุดสำหรับอนุกรมฟีโบนัชชีแบบเรียกซ้ำใน Java จากนั้นเราเรียกฟังก์ชันเรียกซ้ำที่เรียกว่า " ฟีโบนัชชี " ดังที่คุณทราบในการใช้การเรียกซ้ำใน Java เราต้องกำหนดและจัดการกับ 2 กรณี อย่างแรกคือกรณีพื้นฐาน และอีกกรณีคือกรณีแบบเรียกซ้ำ ในกรณีพื้นฐาน เราจะตรวจสอบว่าค่า MAX น้อยกว่าหรือเท่ากับ 1 หรือไม่ หากเป็นจริง ระบบจะส่งคืนตัวเลขเดียวกัน (ลองนึกภาพสองหลักแรกของฟีโบนัชชี 0 และ 1) นั่นคือวิธีคำนวณเลขฐาน ในการเรียกซ้ำ เราจะคำนวณตัวเลขสองตัวสุดท้ายของอนุกรมโดยการลดหนึ่งและสองจาก MAX วิธีฟีโบนัชชีจะเรียกตัวเองต่อไปจนกระทั่งถึงตัวเลขสองหลักสุดท้าย (0 และ 1) จากนั้นบวกเข้าไปแล้วบวกเลขสองหลักสุดท้ายต่อไปจนกระทั่งถึง MAX

บทสรุป

หวังว่าตอนนี้คุณคงจะเข้าใจวิธีการคำนวณฟีโบนักชีใน Java ที่แตกต่างกันสองวิธีแล้ว คุณยังสามารถใช้การเขียนโปรแกรมแบบไดนามิกเพื่อท้าทายตัวเองได้ และเช่นเคย เราคาดหวังให้คุณฝึกฝนและพัฒนาให้ดีขึ้นทุกวัน เรียนรู้และเติบโตต่อไป!
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION