Хелпикс

Главная

Контакты

Случайная статья





Задание 3.1. Рекурсивные функции



Задание 3.1. Рекурсивные функции

Определите закономерность формирования членов последовательности. Найдите N-ый член последовательности, сократив количество рекурсивных вызовов. Составьте рекурсивную функцию для решения задач.

1. 1, 1, 2, 3, 5, …

 

Код программы

#include <iostream>

 

using namespace std;

 

int Fib(int i)

 

{

 

       int value = 0;

 

       if (i < 1) return 0;

 

       if (i == 1) return 1;

 

       return Fib(i - 1) + Fib(i - 2);

 

}

 

int main()

 

{

       setlocale(LC_ALL, "rus");

       cout << "До \n";

       int n;

       cin >> n;

       int i = 0;

           

       while (i < n)

 

       {

 

                   cout << Fib(i) << endl;

 

                   i++;

 

       }

 

       return 0;

 

}

Контрольный пример

 

2.1, 2, 2, 4, 8, …

 

Код программы

#include <iostream>

 

using namespace std;

 

int Fib(int i)

 

{

 

           

 

       if (i < 2) return 1;

 

       if (i == 2) return 2;

 

       return Fib(i - 1) * Fib(i - 2);

 

}

 

int main()

 

{

       setlocale(LC_ALL, "rus");

           

       int i = 1,n;

       cout << "До\n";

       cin >> n;

       while (i < n)

 

       {

 

                   cout << Fib(i) << endl;

 

                   i++;

 

       }

 

       return 0;

 

}

Контрольный пример

 

3.

Код программы

#include <iostream>

 

using namespace std;

 

double Fib(int i)

 

{

 

       if (i < 1) return 0;

 

       if (i == 1) return 1;

           

           

 

       return ( ((i-1)- (i - 2)) / (Fib(i - 1) + Fib(i - 2)) ) ;

 

}

 

int main()

 

{

       setlocale(LC_ALL, "rus");

 

       int i = 0,n;

       cout << "До\n";

       cin >> n;

       while (i < n)

 

       {

 

                   cout << Fib(i) << endl;

 

                   i++;

 

       }

 

       return 0;

 

}

Контрольный пример

 

Задание 3.2. Разработка рекурсивной триады

1. Дан прямоугольник, стороны которого выражены натуральными числами. Разрежьте его на минимальное число квадратов с натуральными сторонами.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.