|
|||
Задание 3.1. Рекурсивные функцииСтр 1 из 3Следующая ⇒ Задание 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. Дан прямоугольник, стороны которого выражены натуральными числами. Разрежьте его на минимальное число квадратов с натуральными сторонами.
|
|||
|