English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
في هذا البرنامج، ستعلم كيفية عرض سلسلة فيبوناتشي باستخدام الدورات for وwhile في Java. ستعلم كيفية عرض سلسلة تحتوي على عدد محدد من المفردات أو الأرقام.
سلسلة فيبوناتشي هي سلسلة حيث يكون المفرد التالي مجموع المفردتين السابقتين. المفردات الأولية في سلسلة فيبوناتشي هي 0، ثم 1.
سلسلة فيبوناتشي: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
public class Fibonacci { public static void main(String[] args) { int n = 10, t1 = 0, t2 = 1; System.out.print("First " + n + " terms:"); for (int i = 1; i <= n; ++i) { System.out.print(t1 + " + "); int sum = t1 + t2; t1 = t2; t2 = sum; } } }
الإخراج عند تشغيل البرنامج سيكون:
0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 +
في البرنامج المذكور أعلاه، يتم تعيين المفردات الأولية (t1) والثانية (t2) كالمفردات الأولية 0 و1 في المفردات فيبوناتشي.
ثم، تستمر الدورة for إلى n (عدد المفردات)، وتظهر الإجمالي للعناصر المسبقة المحفوظة في المتغير t1.
يمكنك أيضًا استخدام دورة while في Java لإنشاء سلسلة فيبوناتشي.
public class Fibonacci { public static void main(String[] args) { int i = 1, n = 10, t1 = 0, t2 = 1; System.out.print("First " + n + " terms:"); while (i <= n) { System.out.print(t1 + " + "); int sum = t1 + t2; t1 = t2; t2 = sum; i++; } } }
النتيجة متطابقة مع البرنامج المذكور أعلاه.
في البرنامج المذكور أعلاه، يختلف عن الدورات، يجب علينا زيادة قيمة i داخل الدورة.
على الرغم من أن كلا البرنامجين صحيحين تقنياً، إلا أن من الأفضل استخدام الدورات في هذه الحالة. لأن عدد التكرارات (من 1 إلى n) معروف.
public class Fibonacci { public static void main(String[] args) { int n = 100, t1 = 0, t2 = 1; System.out.print("حتى " + n + ": "); while (t1 <= n) { System.out.print(t1 + " + "); int sum = t1 + t2; t1 = t2; t2 = sum; } } }
الإخراج عند تشغيل البرنامج سيكون:
حتى 100: 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 + 55 + 89 +
سيقوم البرنامج بعرض التسلسل إلى الرقم المحدد (100) وليس حتى الرقم المحدد.
لذلك، نحتاج فقط إلى مقارنة مجموع الأرقام الأخيرة (t1) وn.
إذا كان t1 أقل أو يساوي n، طباعة t1.