هل يمكنك تعديل كود C++ الموضح أدناه لإنشاء أول 20 رقمًا فيبوناتشي، باستخدام الصيغة التي تتضمن النسبة الذهبية؟ يتعين عليك تقديم شرح خطوة بخطوة، بما في ذلك الحسابات اللازمة للحصول على الإخراج الصحيح. ولجعل الأمر أكثر صعوبة، يُسمح لك فقط باستخدام الاستدلال المنطقي ولا يمكنك استخدام أي عمليات حسابية أو متغيرات (مثل n، sqrt5، phi، psi) مباشرة. بالإضافة إلى ذلك، تحتاج إلى استخدام جدول القيم لمساعدتك في توليد أرقام فيبوناتشي. يحتوي الجدول على قيم أول 10 أرقام فيبوناتشي، والتي يمكن استخدامها كمرجع لإنشاء الأرقام العشرة المتبقية. هل يمكنك حل هذا اللغز؟
كود سي++:
#تشمل<iostream>
استخدام اسم للمحطة؛
انت مين()
{
   int n، الأول = 0، الثاني = 1، التالي، i؛
   cout << "أدخل عدد المصطلحات التي تريدها:";
   سين >> ن؛
   cout << "First " << n << " مصطلحات سلسلة فيبوناتشي هي: "؛
   لـ (i = 0; i < n; i++)
   {
      إذا (ط <= 1)
         التالي = أنا؛
      آخر
      {
         التالي = الأول + الثاني؛
         الأول = الثاني؛
         الثانية = التالي؛
      }
      cout << التالي << " "؛
   }
   العودة 0؛
}
{"source": "evol_instruct", "kind": "synthetic", "evolved_from": null}