Рекурсия.

Visual Basic, C#, C++, Python и др.
Потребителски аватар
[BG][SSA]Troll
Модератор
Мнения: 23
Регистриран: вт юли 10, 2018 9:35 pm
Баланс: Locked
Местоположение: Велико Търново

пет юли 20, 2018 12:57 pm

Рекурсията е метод, чрез който постигаме резултат посредством викане на функция в самата нея. Така постигате разклоняване. Точно затова дървета се строят рекурсивно. Сега ще питате как така ще викаме функцията в самата нея и няма ли да стане безкрайно. Попринцип в програмирането всичко е позволено, стига да го искаш. За да не стане безкрайно на рекурсията и се слага проверка дали си е свършила работата. Тази проверка се нарича дъно на рекурсията. Всяка рекурсия може да има колкото програмиста иска дъна. От 0 до + безкрайност. Но нека илюстрирам примери как работи рекурсията чрез това видео. Трябва да си влязъл в системата, за да можеш да виждаш линковете
Това е кода на програмата за фибоначито от видеото.

Код: Трябва да си влязъл в системата, за да можеш да виждаш линковете

#include <bits/stdc++.h>

using namespace std;

long long fib(int num)
{
	if(num==1)return 1;
	if(num==2)return 1;
	long long result=fib(num-1)+fib(num-2);
}
int main()
{
int a;
cin>>a;
cout<<fib(a);	
}
Код на програмата за факториела от видеото.

Код: Трябва да си влязъл в системата, за да можеш да виждаш линковете

#include <bits/stdc++.h>

using namespace std;

long long fact(int num)
{
	if(num==1)return 1;
	return num*fact(num-1);
}
int main()
{
	int a;
	cin>>a;
	cout<<fact(a);
}
Надявам се урокът да ви е бил полезен. Пишете ЛС ако имате въпроси.

Отговори

Върни се в “Системно Програмиране”

  • Информация
  • Кой е на линия

    Потребители, разглеждащи този форум: Няма регистрирани потребители и 0 госта