לפני שנסתכל על תוכנית סדרת פיבונאצי בג'אווה, בואו נחקור מהי הדרך המתמטית לחישוב מספרי פיבונאצ'י.
"סדרת פיבונאצ'י נוצרת כאשר אנו מחברים את שני המספרים האחרונים ברצף שמתחילים ב-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
GO TO FULL VERSION