![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Kod <?php echo potega(); function potega() { global $zmienna; static $wynik=1; static $x = 4; static $k = 10; if($k<>0) { if(is_int($k/2)) { $k /= 2; $x *= $x; } else { $wynik *= $x; $k--; } potega(); } else return (string)$wynik; } ?> Jest to rekurencyjna funkcja do potęgowania napisana wg. jakiegoś tam algorytmu (było takie zadanie na jakieś olimpiadzie czy coś aby taką napisać). Teraz pytanie. Jak to przerobić abym mógł przekazać podstawe i wykładnik jako parametry funkcji ? Bo przy: Kod static $x = $param1; php robi error o zły T_VARIABLE. PS> do nabijaczy postów ;] wiem, że istnieje funkcja pow() Ten post edytował Vengeance 13.08.2004, 01:31:18 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 13.08.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Cytat(DeyV @ 2004-08-13 07:26:25) a dokładniej mówiąc, np. tak? (bez żadnej rekurencji...) [...] @Orson: zazwyczaj na olimpiadach nie ma podanego z góry algorytmu, tak więc wszystko zależy od piszącego, chyba że... podany jest sposób przesyłania parametrów do funkcji. To nie olimpiada tylko Matura z infy (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) # znak `nalezy` zostal zastapiony e [...] Specyfikacja problemu: Dane a - podstawa potęgi,n - wykładnik potęgi dla neN+(n nalezy do naturalnych dod.),aeR\{0} Wyniki: wynik - wartosc potegi o podstawie a i wykładnikun, wynik eR Zmienne pomocnicze: x,k krok 1. nadaj wartosci zmiennym: zmiennej wynik 1,zmiennej x wartosc a zmiennej k wartosc n krok2. dopóki k!=0,powtarzaj krok 3 krok3. jesli k jest liczba nieparzystą, to wynik pomnóź przez x, zaś k zmiejsz o 1, w przeciwnym przypadku k podziel przez 2, zaś x pomnóż przez x krok4. wypisz wartosc wynik Wykonaj polecenia: a) Zapisz rekurencyjną funkcję obliczania potęgi aN(a do entej) w wybranym przez siebie języku(pseudojęzyku) programowanie. [...] bye Ten post edytował darkspirit 13.08.2004, 10:49:30 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 07:04 |