مجموع اعداد زوج در دنباله فیبوناچی

دنباله فیبوناچی، دنباله‌ایه که جمله‌ی جدیدش از جمع دوتا جمله‌ی قبلیش، شکل می‌گیره، مثلا اگر دوتا جمله‌ی قبلیش 5 و اونیکی 8 باشه، جمله‌ای که الان توش هستیم می‌شه 8+5 یعنی 13.

به طور کلی، یه دنباله‌ی فیبوناچی این شکلیه:

…,1,2,3,5,8,13,21,34,55,89,144

و قانونش اینه که جمله اول و دوم، یک و دو باشه.

سوال اینه: مجموع اعداد زوج توی این دنباله رو پیدا کن با این شرط که آخرین جمله‌ی این دنباله، از چهار میلیون تجاوز نکنه.

سوال رو بشکونیم:

1-باید دنباله‌ی فیبوناچی رو تعریف کنیم، یعنی باید دوتا متغیر داشته باشیم که جمله‌ی اول و دوم دنباله که یک و دو هست رو توی خودش save کنه. این دوتا متغیر رو می‌گیریم a و b

2-چه اعدادی زوج‌ان؟ اعدادی که باقی‌موندشون توی تقسیم به دو، برابر صفر بشه. یعنی یه شرط می‌خوایم که توی این شرط فقط عددی اجازه‌ی حضور داشته باشه که باقی‌موندش به دو، صفر بشه یا به عبارتی زوج باشه.

3-می‌رسیم به شرطی که سوال گذاشته، سوال گفته دنباله رو تا جایی برو که آخرین جمله‌ات بیشتر از 4 میلیون نشه، پس باید یه حلقه while هم داشته باشیم که تنها اعدادی از حلقه رد بشن که این شرط رو داشته باشن و وقتی عددمون به این شرط رسید، از حلقه بیاد بیرون. (چون دیگه صدق نمی‌کنه)

4-یه متغیر هم می‌خوایم که مجموع اعداد زوج رو ذخیره کنه. این متغیر رو می‌گیریم ans.

قبل از حلقه، اول متغیرهایی که می‌خوایم رو تعریف می‌کنیم.

حل سوال با پایتون:

تیکه‌ی مهم این برنامه توی خط هفتمه

خط 7 چی می‌گه:

در واقع ما توی جملات فیبوناچی داریم حرکت می‌کنیم رو به جلو، a و b هم مدام دارن نقش دوتا جمله‌ی قبلی رو بازی می‌کنن، وقتی یک گام رو به جلو می‌رویم، a جای خودش رو می‎ده به b، و در عین حال b هم می‌شه مجموع a و b. که این مجموع رو با c نشون دادیم.

مثلا فرض کنید داریم جمله‌ی ششم این دنباله که عدد 13 هست رو می‌سازیم، خب اینجا a می‌شه 5 و b می‌شه 3. حالا می‌ریم جمله‌ی هفتم یعنی 21 رو بسازیم، توی اینجا a می‌شه 5 که توی این مرحله a در واقع b مربوط به مرحله‌ی قبلیه. خط هفت اینجا همین حرف رو می‌خواد بزنه، و به طور طبیعی، b این مرحله می‌شه جمع a و b مرحله‌ی قبلی، که c تعریفش کردیم. کد جاوا رو ببینین اگر متوجه نشدید، متوجه شید:

حل سوال با جاوا:

چه عددی رو براتون چاپ کرد؟



کانال تلگرام سحر نوشت | صفحه اینستاگرام

2 پاسخ
  1. آراز شاه گفته:

    سلام
    مثل همیشه سبک آموزش و حل مسله شما فوق العاده بود,عالی واقعا عالی به شخصه از سایتتون لذت میبرم,امیدوارم با قدرت بیشتر ادامه بدین.آینده شما را می خواند و فرزندان آینده می خواهند

    پاسخ

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *