matematykaszkolna.pl
funkcja rekurencyjna (infa) Marcinek: Dana jest następująca funkcja rekurencyjna: Dane: x — liczba całkowita, n — dodatnia liczba całkowita. funkcja F(x, n) jeżeli n = 1 podaj wynik x i zakończ w przeciwnym razie jeżeli n mod 3 = 0 k ← F(x, n div 3) (*) podaj wynik k*k*k i zakończ w przeciwnym razie (**) podaj wynik x*F(x, n−1) i zakończ Uwaga: „div” jest operatorem dzielenia całkowitego. 3.1. Podaj wszystkie wywołania rekurencyjne funkcji F oraz obliczany po każdym wywołaniu wynik, jeśli na początku wywołamy F(2, 10). wywołanie wynik F(2, 10) F( ; ) W komentarzu jest coś takiego " Zastanówmy się, co dostaniemy w wyniku wywołania funkcji F(x, n). Niech n = 3•a+b, gdzie a i b są nieujemnymi liczbami całkowitymi oraz b < 3. Wówczas xn = x3•a+b = xa•xa•xa•xb. Rozważmy teraz funkcję F. Nietrudno spostrzec, że gdy n < 3, to wartością F(x,n) jest xn, natomiast dla n = 3•a+b > 2 mamy F(x,n) = xb•F(x, 3•a) = xb•F(x,a) •F(x,a) • F(x,a) = xb•xa•xa•xa = xn. Wytłumaczy mi ktoś czemu F(x,n) = xn ( nie rozumiem tego to wynika z jakieś definicji czy coś ?
17 mar 22:55
Marcinek: wywołanie mam i rozumiem ale tych ... wyników nie
17 mar 22:58
Marcinek: up
20 mar 16:39