Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЯП3 / Яп3

.cpp
Скачиваний:
0
Добавлен:
22.04.2023
Размер:
1.59 Кб
Скачать
#include <iostream>
#include <cmath>
#include <vector>
using namespace std;
int Factorial(int n)
{
	if (n != 1)
	{
		return n * Factorial(n - 1);
	}
}
int Pov(int a, int b, int c) 
{
	if (a < b) return c;
	else return(Pov(a - b, b, c + 1));
}
string Vzaim2(int number);
string Vzaim(int number) 
{
if (number == 0)
return "Чётное";
else 
return Vzaim2(number - 1);
}
string Vzaim2(int number)
{
	if (number == 0) return "Нечётное";
	else return Vzaim(number - 1);
}
int cas(int a) 
{
	if ((a == 0) || (a == 1)) return 1;
	else return(cas(a - 1) + cas(a - 2));
}
int udal(int a, int b)
{
	if (a == 0) return (b + 1);
	else
	{
		if (b == 0) return udal(a - 1, 1);
		else return udal(a - 1, udal(a, b - 1));
	}
}

int main()
{
	setlocale(LC_ALL, "Russian");
	cout << "Линейная рекурсия:"<<"\n";
	int num1;
	cout << "Введите число: ";
	cin >> num1 ;	
	int factorial = Factorial(num1);
	cout << "Факториал -  ";
	cout << factorial;
	cout << "\n";
	cout <<"\t" << "Повторная рекурсия:" << "\n";
	int result = Pov(4, 2, 0);
	cout << "\t" << result;
	cout << "\n";
	cout << "Взаимная рекурсия:" << "\n";
	string kek = Vzaim(num1);
	cout << "Число - " << num1 << " ";
	cout << kek;
	cout << "\n";
	cout << "\t" << "Каскадная рекурсия:" << "\n";
	int result1 = cas(num1);
	cout << "\t" << result1;
	cout << "\n";
	cout << "Удаленная рекурсия:" << "\n";
	int result2 = udal(2,3);
	cout << result2;

}

Соседние файлы в папке ЯП3