W języku C/C++ po wywołaniu funkcji cout << s(4) uzyskano wynik liczbowy
int s (int n) {if (n>1) return n*s(n-1); else return 1;}
Odpowiedzi
Informacja zwrotna
Odpowiedź 24 jest jak najbardziej poprawna. Funkcja s(n) liczy silnię liczby n, co znaczy, że zwraca iloczyn wszystkich liczb całkowitych od 1 do n. Dla s(4) wszystko zaczyna się od tego, że sprawdza, czy n (czyli 4) jest większe niż 1. I faktycznie jest! Więc potem wywołuje s(3). Tak to się kręci, aż dojdziemy do 1 – wtedy funkcja zwraca 1. Potem następuje mnożenie: 4 * s(3), a s(3) to 3 * s(2), i tak dalej. Na końcu dostajemy 4 * 3 * 2 * 1, co daje 24. Zrozumienie tego wszystkiego jest mega ważne, bo rekurencja to jedna z podstaw programowania w C/C++. Silnia przydaje się wszędzie – w statystyce, informatyce, a nawet w kombinatoryce, gdzie obliczamy permutacje i kombinacje.
int s (int n) {if (n>1) return n*s(n-1); else return 1;} Odpowiedzi
Informacja zwrotna
Odpowiedź 24 jest jak najbardziej poprawna. Funkcja s(n) liczy silnię liczby n, co znaczy, że zwraca iloczyn wszystkich liczb całkowitych od 1 do n. Dla s(4) wszystko zaczyna się od tego, że sprawdza, czy n (czyli 4) jest większe niż 1. I faktycznie jest! Więc potem wywołuje s(3). Tak to się kręci, aż dojdziemy do 1 – wtedy funkcja zwraca 1. Potem następuje mnożenie: 4 * s(3), a s(3) to 3 * s(2), i tak dalej. Na końcu dostajemy 4 * 3 * 2 * 1, co daje 24. Zrozumienie tego wszystkiego jest mega ważne, bo rekurencja to jedna z podstaw programowania w C/C++. Silnia przydaje się wszędzie – w statystyce, informatyce, a nawet w kombinatoryce, gdzie obliczamy permutacje i kombinacje.