الانتقال إلى المحتوى الرئيسي

كيفية جعل عدد فيبوناتشي في بيثون: كل الطرق والتعليمات

أرقام فيبوناتشي هي سلسلة من الأرقام يكون فيها كل رقم لاحق مساويا لمجموع الرقمين السابقين. وقد وصف هذا التسلسل لأول مرة من قبل عالم الرياضيات الإيطالي ليوناردو فيبوناتشي في القرن ال13 ، ولكن منذ ذلك الحين وجدت التطبيق في العديد من مجالات الحياة ، بما في ذلك البرمجة. في هذه المقالة ، سننظر في عدة طرق لتنفيذ أرقام فيبوناتشي في بايثون.

الطريقة الأولى والأسهل هي استخدام العودية. في هذه الحالة ، ستطلق الوظيفة على نفسها حتى يتم الوصول إلى الشرط الأساسي — أول رقمين من التسلسل (0 و 1). علاوة على ذلك ، سيكون كل رقم لاحق هو مجموع استدعاءات الدالة السابقة.

مثال على الكود للتنفيذ المتكرر لأرقام فيبوناتشي:

ديف فيبوناتشي-ريكورسيف (ن):

إذا ن < = 1:

عودة ن

آخر:

عودة فيبوناتشي _ استطرادي (ن-1) + فيبوناتشي _ استطرادي (ن-2)

ومع ذلك ، فإن النهج العودي له عيوبه — يزداد وقت التنفيذ بشكل كبير مع زيادة في قيمة ن. لذلك ، فإن الطريقة الأكثر فعالية هي استخدام حلقة. في هذه الحالة ، سنقوم بحساب كل رقم من تسلسل فيبوناتشي بالتتابع ، بدءا من أول رقمين.

مثال على الكود للتنفيذ الدوري لأرقام فيبوناتشي:

مواطنه فيبوناتشي_تراتيفي (ن):

إذا ن < = 1:

عودة ن

أ ، ب = 0 ، 1

لـ _ في النطاق (2 ، ن+1):

أ ، ب = ب ، أ + ب

العودة ب

بالإضافة إلى ذلك ، هناك أيضا صيغة رياضية لحساب أرقام فيبوناتشي. يعتمد على خاصية النسبة الذهبية ويسمح لك بالحصول على رقم فيبوناتشي مباشرة دون الحاجة إلى إجراء مكالمات متكررة أو دورية.

مثال على الكود للتنفيذ الرياضي لأرقام فيبوناتشي:

استيراد الرياضيات

ديف فيبوناتشي فورمولا (ن):

فاي = (1 + الرياضيات.الجذر التربيعي (5)) / 2

عودة كثافة العمليات ((فاي * * ن - (- فاي)**(- ن)) / (2 * فاي-1))

وبالتالي ، يمكنك اختيار الطريقة الأنسب لتنفيذ أرقام فيبوناتشي في بايثون ، اعتمادا على احتياجاتك ومتطلبات الأداء.

  1. رقم فيبوناتشي في بايثون: جميع الطرق والتعليمات
  2. 1. الطريقة العودية
  3. 2. باستخدام الدورة
  4. 3. باستخدام القائمة
  5. 4. الصيغة الرياضية
  6. توصيات عامة
  7. حساب رقم فيبوناتشي باستخدام العودية
  8. حساب رقم فيبوناتشي باستخدام حلقة
  9. حساب رقم فيبوناتشي باستخدام صيغة النسبة الذهبية
  10. حساب رقم فيبوناتشي باستخدام مصفوفة
  11. سؤال وجواب
  12. كيف يمكنني إنشاء سلسلة من أرقام فيبوناتشي في بيثون?
  13. كيفية حساب عدد ن فيبوناتشي في بيثون?
  14. كيفية تحسين حساب أرقام فيبوناتشي في بيثون?

رقم فيبوناتشي في بايثون: جميع الطرق والتعليمات

أرقام فيبوناتشي هي سلسلة من الأرقام حيث يكون كل رقم لاحق مساويا لمجموع الرقمين السابقين. أول رقمين من التسلسل هما 0 و 1. هناك عدة طرق لحساب أرقام فيبوناتشي في بايثون.

1. الطريقة العودية

واحدة من أسهل الطرق لحساب رقم فيبوناتشي هي استخدام العودية. هنا مثال رمز:

ديف فيبوناتشي-ريكورسيف (ن):

إذا ن < = 1:

عودة ن

آخر:

عودة فيبوناتشي _ استطرادي (ن-1) + فيبوناتشي _ استطرادي (ن-2)

تأخذ هذه الوظيفة رقم فيبوناتشي كمدخل وتعيد قيمته باستخدام العودية. ومع ذلك ، قد تكون هذه الطريقة غير فعالة لأرقام فيبوناتشي الكبيرة ، لأنه في كل مرة يتم استدعاء الوظيفة ، سيتم إنشاء الكثير من الحسابات المتكررة.

2. باستخدام الدورة

هناك طريقة أخرى لحساب أرقام فيبوناتشي وهي استخدام حلقة. هنا مثال رمز:

مواطنه فيبوناتشي_تراتيفي (ن):

أ ، ب = 0 ، 1

ل _ في النطاق (ن):

أ ، ب = ب ، أ + ب

العودة أ

تستخدم هذه الوظيفة حلقة لحساب أرقام فيبوناتشي بالتسلسل حتى رقم معين. يقوم بتخزين آخر رقمين فيبوناتشي في المتغيرات أ و ب ، وتحديثها في كل تكرار للحلقة.

3. باستخدام القائمة

يمكنك أيضا استخدام القائمة لحساب أرقام فيبوناتشي. هنا مثال رمز:

ديف فيبوناتشي_ليست (ن):

فيب_ليست = [0 ، 1]

لأني في النطاق (2 ، ن+1):

فيب_ليست.إلحاق (فيب_ليست [أنا-1] + فيب_ليست [أنا-2])

عودة فيب_ليست [ن]

في هذه الوظيفة ، نقوم بإنشاء قائمة قائمة فيبوناتشي نخزن فيها أرقام فيبوناتشي. نبدأ بالرقمين الأولين من التسلسل ونضيف الأرقام التالية بالتتابع باستخدام قيم الرقمين السابقين.

4. صيغة رياضية

إذا احتجنا إلى حساب رقم فيبوناتشي واحد فقط ، فيمكننا استخدام صيغة رياضية لحسابه:

ديف فيبوناتشي فورمولا (ن):

الجذر التربيعي_5 = 5 * * 0.5

فاي = (1 + الجذر التربيعي_5) / 2

جولة العودة ((فاي * * ن) / الجذر التربيعي_5)

في هذه الدالة ، نستخدم صيغة النسبة الذهبية لحساب رقم فيبوناتشي برقمه. للقيام بذلك ، ونحن أولا حساب جذر 5 ، ثم استخدام النسبة الذهبية (فاي) للحصول على قيمة عدد فيبوناتشي.

توصيات عامة

  • لحساب أرقام فيبوناتشي ، من الأفضل استخدام طرق تكرارية (حلقات أو استخدام قائمة) ، لأنها أكثر كفاءة من حيث وقت التنفيذ واستهلاك الذاكرة لأرقام فيبوناتشي الكبيرة.
  • بدلا من استخراج الجذر التربيعي يدويا للحصول على جزء كامل من الجذر.

حساب رقم فيبوناتشي باستخدام العودية

ما هي أرقام فيبوناتشي?

أرقام فيبوناتشي هي سلسلة من الأرقام حيث يكون كل رقم لاحق مساويا لمجموع الرقمين السابقين ، بدءا من 0 و 1. يبدو التسلسل كما يلي: 0, 1, 1, 2, 3, 5, 8, 13, وهلم جرا.

النهج العودية

يعتمد النهج العودي لحساب أرقام فيبوناتشي على فكرة تقسيم المشكلة إلى مهام فرعية أبسط. في هذه الحالة ، يمكننا تحديد رقم فيبوناتشي لمؤشر معين باستخدام العودية وحساب أرقام فيبوناتشي للمؤشرين السابقين.

فيما يلي مثال على كود بايثون الذي ينفذ حساب رقم فيبوناتشي باستخدام العودية:

ديف فيبوناتشي (ن):

إذا ن < = 1:

عودة ن

آخر:

عودة فيبوناتشي (ن-1) + فيبوناتشي (ن-2)

يأخذ عدد صحيح ن كوسيطة وإرجاع رقم فيبوناتشي لهذا الفهرس.

إذا ن أقل من أو يساوي 1 ، تقوم الدالة بإرجاع الرقم نفسه. خلاف ذلك ، تستدعي الدالة نفسها بشكل متكرر للمؤشرين السابقين وتعيد مجموعهما.

هذا النهج العودية لحساب أرقام فيبوناتشي من السهل أن نفهم ، ولكن قد تكون غير فعالة لقيم كبيرة من ن. في كل مرة تستدعي فيها الوظيفة نفسها ، تقوم بإنشاء فرع تنفيذ جديد ، والذي يمكن أن يؤدي إلى عدد كبير من الحسابات المتكررة.

على سبيل المثال ، عند حساب رقم فيبوناتشي للمؤشر 5 ، سيتم استدعاء دالة فيبوناتشي() 9 مرات ، مما سيؤدي إلى الكثير من الحسابات المتكررة.

ومع ذلك ، يمكن أن يكون النهج العودي مفيدا في تعلم وفهم المبادئ الأساسية لحساب أرقام فيبوناتشي.

حساب رقم فيبوناتشي باستخدام حلقة

هناك طريقة أخرى لحساب أرقام فيبوناتشي وهي استخدام حلقة. في هذه الحالة ، يمكننا استخدام حلقة أو حلقة أثناء. دعونا ننظر في كلا الخيارين.

1. حساب رقم فيبوناتشي باستخدام ل حلقة:

  1. تهيئة المتغيرات أ و ب مع القيم 0 و 1 ، على التوالي. وهذه المتغيرات تخزين اثنين من أرقام فيبوناتشي السابقة.
  2. تهيئة المتغير ن برقم فيبوناتشي المطلوب.
  3. باستخدام ل حلقة ، نبدأ التكرار على الأرقام من 2 إلى ن. في كل تكرار ، نحتاج إلى تحديث قيم المتغيرات أ و ب ، وتعيين ب القيمة ب + أ ، و أ القيمة ب-أ.
  4. بعد اكتمال الدورة ، سيتم تخزين رقم فيبوناتشي المطلوب في المتغير ب.
  5. إخراج قيمة المتغير ب.

2. حساب رقم فيبوناتشي باستخدام حلقة بينما:

  1. تهيئة المتغيرات أ و ب مع القيم 0 و 1 ، على التوالي.
  2. تهيئة المتغير ن برقم فيبوناتشي المطلوب.
  3. باستخدام حلقة بينما ، نقوم بتنفيذ الخطوات التالية حتى تصبح قيمة ن 0:
  4. بعد الخروج من الحلقة ، سيتم تخزين رقم فيبوناتشي المطلوب في المتغير ب.
  5. إخراج قيمة المتغير ب.

يسمح لك كلا الخيارين بحساب رقم فيبوناتشي باستخدام حلقة ويعتمد الاختيار بينهما على تفضيلاتك ومتطلباتك في موقف معين.

حساب رقم فيبوناتشي باستخدام صيغة النسبة الذهبية

يمكن استخدام طرق وخوارزميات مختلفة لحساب أرقام فيبوناتشي. إحدى هذه الطرق هي استخدام صيغة النسبة الذهبية.

تسمح لك صيغة النسبة الذهبية بحساب أي رقم فيبوناتشي بسرعة وكفاءة دون الحاجة إلى حساب جميع الأرقام السابقة. يعتمد على علاقة رياضية تستخدم النسبة الذهبية ، وهي أحد المفاهيم الأساسية في الرياضيات والفن.

لحساب رقم فيبوناتشي باستخدام صيغة النسبة الذهبية ، ما عليك سوى معرفة رقم الرقم المطلوب في تسلسل فيبوناتشي. يتبع الخوارزمية التالية:

  1. أوجد النسبة الذهبية (القيمة التقريبية هي 1.618033988749895).
  2. احسب قيمة النسبة الذهبية المرفوعة إلى قوة رقم الرقم ، مطروحا منها قيمة النسبة الذهبية المرفوعة إلى قوة رقم الرقم مضروبا في ناقص واحد.
  3. ستكون النتيجة قيمة رقم فيبوناتشي مع الرقم المحدد.

على سبيل المثال ، لحساب رقم فيبوناتشي 8 باستخدام صيغة النسبة الذهبية:

  • سنجد النسبة الذهبية: 1.618033988749895.
  • احسب قيمة النسبة الذهبية إلى قوة 8 ، مطروحا منها قيمة النسبة الذهبية إلى قوة 8 ، مضروبة في ناقص واحد.
  • سوف نحصل على النتيجة: 13.

وبالتالي ، فإن حساب أرقام فيبوناتشي باستخدام صيغة النسبة الذهبية يسمح لك بالحصول على النتيجة بسرعة وكفاءة ، دون الحاجة إلى حساب جميع الأرقام السابقة.

حساب رقم فيبوناتشي باستخدام مصفوفة

يمكن التعامل مع أرقام فيبوناتشي ليس فقط باستخدام طرق تكرارية أو تكرارية بسيطة. هناك طريقة أكثر فعالية لحساب أرقام فيبوناتشي باستخدام المصفوفات.

للقيام بذلك ، يمكنك استخدام الصيغة التالية:

  1. تعيين الشروط الأولية: و0 = 0 ، و1 = 1.
  2. إنشاء مصفوفة أ من النوع التالي:
  3. احسب المصفوفة أ إلى قوة ن-1: أ(ن-1).
  4. سيكون رقم فيبوناتشي الجبهة الوطنية في الخلية (0 ، 1) من المصفوفة الناتجة أ.

عند حساب المصفوفة أ ، من الممكن استخدام طريقة الأس. هناك عدة طرق لحساب درجة المصفوفة ، على سبيل المثال ، الأس الثنائي أو طريقة الأس السريع.

O س(سجل ن).

Пример реализации данного алгоритма на языке الثعبان:

مواطنه مضاعفة (أ ، ب):

س = أ [0] [0] * ب [0] [0] + أ [0] [1] * ب [1] [0]

ص = أ [0] [0] * ب [0][1] + أ [0] [1] * ب [1] [1]

ض = أ [1] [0] * ب [0] [0] + أ [1] [1] * ب[1] [0]

ث = أ [1] [0] * ب [0] [1] + أ [1] [1] * ب [1][1]

العودة [[س ، ص] ، [ض ، ث]]

ديف باور (أ ، ن):

إذا ن = = 0 أو ن = = 1:

العودة أ

نصف = قوة (أ ، ن / / 2)

النتيجة = ضرب (نصف ، نصف)

إذا ن ٪ 2 = = 1:

النتيجة = ضرب (النتيجة ، أ)

نتيجة الإرجاع

ديف فيبوناتشي (ن):

إذا ن = = 0:

العودة 0

ألف = [[1, 1], [1, 0]]

النتيجة = القوة (أ ، ن-1)

نتيجة الإرجاع [0] [0]

لتبسيط العمليات الحسابية.

، أين ن هو رقم رقم فيبوناتشي الذي نريد حسابه.

سؤال وجواب

كيف يمكنني إنشاء سلسلة من أرقام فيبوناتشي في بيثون?

هناك عدة طرق لإنشاء سلسلة من أرقام فيبوناتشي في بايثون. واحد منهم هو استخدام وظيفة متكررة من شأنها أن تطلق على نفسها للعثور على كل رقم. طريقة أخرى هي استخدام حلقة يتم فيها حساب أرقام فيبوناتشي باستخدام الصيغة الجبهة الوطنية = الجبهة الوطنية-1 + الجبهة الوطنية-2.

كيفية حساب عدد ن فيبوناتشي في بيثون?

لحساب عدد فيبوناتشي نث في بيثون ، يمكنك استخدام وظيفة متكررة من شأنها أن تطلق على نفسها للعثور على كل رقم. يمكنك أيضا استخدام حلقة والصيغة الجبهة الوطنية = الجبهة الوطنية-1 + الجبهة الوطنية-2 لحساب عدد. من المهم أن نتذكر أن النهج العودية قد لا تكون فعالة لقيم كبيرة من ن ، وذلك باستخدام حلقة قد يكون من الأفضل.

كيفية تحسين حساب أرقام فيبوناتشي في بيثون?

يمكن تحسين حساب أرقام فيبوناتشي في بايثون لتقليل وقت التنفيذ. تتمثل إحدى الطرق في استخدام المذكرة ، أي حفظ نتائج حساب أرقام فيبوناتشي واستخدامها في المستقبل لتجنب الحسابات المتكررة. طريقة أخرى هي استخدام صيغة بينيه لحساب أرقام فيبوناتشي مباشرة دون العودية أو حلقات.