کد سری فیبوناچی به زبان سی پلاس پلاس C++

کد سری فیبوناچی به زبان سی پلاس پلاس C++

کد سری فیبوناچی به زبان سی پلاس پلاس C++

سلام، سری فیبوناچی یک دنباله عددی در ریاضیات است که هر جمله ی آن از جمع دو جمله قبل آن سری بدست می آید و دو جمله ی اول آن برابر با ۱ هستند.کدی که قرار است با هم بنویسیم کد نمایش N جمله ی دلخواه از این سری به زبان سی پلاس پلاس است.

برای شروع ابتدا یک متغیر n تعریف میکنیم و از کاربر میخوایم تا تعداد جملاتی را که میخواiد نمایش دهد وارد کند

بعد از آن یک آرایه به تعداد جمله ها ایجاد کرده و دو جمله اول آن را برابر ۱ قرار میدهیم. گرچه بدون آرایه هم میتوان سری فیبوناچی را چاپ کرد اما استفاده از آرایه این امکان را به ما میدهد که تمامی جمله های محاسبه شده از سری را در اختیار داشته باشیم.

قطعه کد اصلی برنامه حلقه ی ساده ی زیر است که کار محاسبه سری را انجام میدهد. در هر دور حلقه مقدار خانه انتخاب شده آرایه را با استفاده از جمع دو خانه ی قبلش بدست می آوریم فقط نکته اینجاست که باید به ترتیب از جمله سوم شروع کنیم چون برای محاسبه جمله چهارم به دو جمله ی ما قبل آن نیاز داریم محاسبه جملات را تا زمان رسیدن به جمله n ام انجام میدهیم.

در انتهای کار کافیست تک تک خانه های آرایه را به ترتیب از اول تا آخر با استفاده از یک حلقه چاپ کنیم. کد نهایی به صورت زیر خواهد بود

تمام، این هم کد چاپ n جمله از سری فیبوناچی، اما همانطور که دیدید سری فیبوناچی برای بدست آوردن یک جمله از جمله های ماقبل آن استفاده میکند همین باعث میشود تا ما به توانیم این سری را با استفاده از تابع بازگشتی در سی پلاس پلاس محاسبه کنیم البته استفاده از تابع بازگشتی سرعت اجرای کد را پایین می آورد.

محاسبه سری فیبناچی به کمک تابع بازگشتی

قسمت دریافت تعداد جملات از کاربر، تعریف آرایه و قسمت چاپ جملات مانند کد قبل است. اما قسمت محاسبات دس خوش تغییراتی میشود. همچنین نیاز به تعریف تابع داریم.

یک تابع از نوع int تعریف میکنیم که اگر جملات انتخابی ما جملات اول و دوم بود مقدار یک را بازگرداند در غیر این صورت حاصل جمع همان تابع با وردی های قبلی را بازگرداند.کد تابع به صورت زیر است

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

و نتیجه ی اجرای برنامه به صورت زیر خواهد بود :

کد سری فیبوناچی به زبان سی پلاس پلاس C++

شاد باشید 😉

1
اشتراک گذاری
Ali F. Harandi

ارسال نظر