پروژه برنامه مویسی

پروژه برنامه نویسی

پروژه برنامه مویسی

پروژه برنامه نویسی

41-3 فیبوناچی

41-3 سری فیبوناچی

0, 1, 1, 2, 3, 5, 8, 13, 21,...

با 0 و 1 شروع می شود و دارای این خاصیت است که هر عنصر برابر با جمع دو عنصر پیشین خود.

الف) تابعی غیر بازگشتی به صورت ()fibonachi "داخل پرانتز n هست!" بنویسید که n امین عدد فیبوناچی را محاسبه کند.


ب) بزرگ ترین عدد فیبوناچی را که می تواد روی سیستم شما نمایش داده شود را بدست اورید.

ج) به گونه ای برنامه بند (الف) رت تغییر دهید که برای محاسبه و بازگرداندن اعداد فیبوناچی از double  جای int استفاده نماید و از این برنامه برای بند (ب) نیز استفاده کنید.

پاسخ در ادامه ی مطلب

  

// part A

#include<iostream>

#include<conio.h>

using namespace std;

int MAX = 22;   // the maximum number for wich the

                //fibonachi value can be calculated

                //on 2-byte integer systems

int fibonacci(int);

int main()

{

for(int loop = 0; loop <= MAX; ++loop)

cout << "fibonacci(" << loop << ") = " << fibonacci(loop)

    << "\n";

cout << endl;

getch();

return 0;

}

int fibonacci(int n)

{

int fib[23];

fib[0] = 0;

fib[1] = 1;

for(int j = 2; j <= n; j++)

fib[j] = fib[j - 1] + fib[j - 2];

return fib[n];

}

----------------------------------

//part b

#include<iostream>

#include<conio.h>

#include<iomanip>

using namespace std;

double fibonacci(int);

int main()

{

cout << setiosflags(ios::fixed | ios::showpoint);

for(int loop = 0; loop < 100; ++loop)

cout << setprecision(1) << "fibonacci(" << loop << ") = "

    << fibonacci(loop) << endl;

getch();

return 0;

}

double fibonacci(int n)

{

double fib[100];

fib[0] = 0.0;

fib[1] = 1.0;

for(int j = 2; j <= n; j++)

fib[j] = fib[j - 1] + fib[j - 2];

return fib[n];

}

نظرات 0 + ارسال نظر
امکان ثبت نظر جدید برای این مطلب وجود ندارد.