Rekurencja to wywołanie funkcji z wewnątrz „samej siebie” dla mniejszego przypadku.
Przykład to silnia.
1 2 3 4 5 6 7 | unsigned long long silnia (int n) { if(n==0 || n==1) //przypadek 0 return 1; return n*silnia(n-1); //wywołanie funkcji silnia z funkcji silnia, ale dla mniejszego przypadku - zamiast n jest n-1 } |
To samo pętlą for
1 2 3 4 5 6 7 8 9 | unsigned long long silnia_iteracyjna(int n) { int wynik = 1; for(int i=2; i<=n; i++) wynik *= i; return wynik; } |