CodeGym /בלוג Java /Random-HE /סדרת פיבונאצ'י בג'אווה
John Squirrels
רָמָה
San Francisco

סדרת פיבונאצ'י בג'אווה

פורסם בקבוצה
לפני שנסתכל על תוכנית סדרת פיבונאצי בג'אווה, בואו נחקור מהי הדרך המתמטית לחישוב מספרי פיבונאצ'י.
"סדרת פיבונאצ'י נוצרת כאשר אנו מחברים את שני המספרים האחרונים ברצף שמתחילים ב-0 ו-1."
במילים אחרות אנו יכולים לומר, ברצף פיבונאצי המספר הבא שווה לסכום שני המספרים האחרונים. לדוגמה, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34... אם נסתכל על הסדרות לעיל, זה נראה די פשוט לחישוב במתמטיקה. אתה פשוט לוקח את שני מספרי הפיבונאצ'י האחרונים, מוסיף אותם והנה. התוצאה היא המספר האחרון בסדרה. אז המספר הבא ברצף פיבונאצ'י יהיה 21 + 34 = 55. עם זאת, בג'אווה ישנם אלגוריתמים שונים לעשות זאת. בואו נסתכל על הדרכים האפשריות שלנו.

סדרת פיבונאצ'י ב-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

הֶסבֵּר

בדוגמה שלמעלה, אנו משתמשים בשיטה הנקראת " פיבונאצ'י " כדי להדפיס את סדרת פיבונאצ'י באופן איטרטיבי. המשתנה MAX מאחסן את המספר הכולל של מספרי פיבונאצ'י שברצונך להדפיס. שני המשתנים firstNumber ו- secondNumber מאחסנים את שני מספרי הפיבונאצ'י הראשונים בהתאמה. ואז לולאת for מתחילה ב-i = 2, מכיוון שמספרי פיבונאצ'י ראשון ושני כבר מודפסים. בכל איטרציה, המספר הראשון והשני מתעדכנים כדי להמשיך את הסדרה. הלולאה מסתיימת, כשהיא מתקרבת לגבול ה-MAX כלומר; i < MAX.

סדרת פיבונאצ'י באמצעות רקורסיה ב-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

הֶסבֵּר

ראשית אנו מגדירים את מספר הספרות המקסימלי עבור סדרת פיבונאצ'י הרקורסיבית בג'אווה. לאחר מכן אנו קוראים לפונקציה הרקורסיבית הנקראת " פיבונאצ'י ". כידוע, כדי להשתמש ברקורסיה בג'אווה, עלינו להגדיר ולהתמודד עם 2 מקרים. הראשון הוא מקרה הבסיס, והשני הוא מקרה רקורסיבי. במקרה הבסיסי, אנו בודקים אם הערך MAX קטן או שווה ל-1. אם הוא נכון, אז אותו מספר מוחזר (דמיין את שתי הספרות הראשונות של פיבונאצ'י 0 ו-1). כך מחושבים מספרי הבסיס. בקריאה רקורסיבית, אנו מחשבים את שני המספרים האחרונים של הסדרה על ידי הפחתת אחד ושתיים מ-MAX. שיטת פיבונאצ'י תמשיך לקרוא לעצמה עד שהיא תגיע לשתי הספרות האחרונות (0 ו-1), תוסיף אותן ואז תמשיך להוסיף את שתי הספרות האחרונות עד שתגיע ל-MAX.

סיכום

מקווה שבינתיים אתה מבין את שתי הדרכים השונות לחישוב פיבונאצי בג'אווה. אתה יכול גם להשתמש בתכנות דינמי כדי לאתגר את עצמך. כמו תמיד, אנו מצפים ממך להתאמן ולהשתפר כל יום. תמשיך ללמוד ולהמשיך לצמוח!
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION