![]() |
![]() ![]() |
![]() |
![]()
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: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
A nie da rady po prostu:
może ja czegoś nie trybie tak z rana:/ -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 548 Pomógł: 2 Dołączył: 19.07.2003 Ostrzeżenie: (0%) ![]() ![]() |
witam ...
Cytat A nie da rady po prostu: gdybys przeczytal co napisal to bys wiedzial ze sie nie da ... @Vengeance: z tego co mi sie wydaje musisz usunac slowo kluczowe static przed nazwa zmiennej ... static oznacza ze zmienna jest stala [ ![]() pozdrawiam -------------------- Computer games don't affect kids; I mean if <span style="font-weight: bold;">Pac Man</span> affected us as kids,we would all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
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. Ale nawet wtedy można próbować to ominąć, szczególnie w przypadku takim jak ten, gdzie założenie jest całkowicie absurdalne. -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#5
|
||
![]() 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 ![]() # 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 -------------------- |
|
![]()
Post
#6
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
to ja współczuje tworzącym takie zadania skrzywionej wyobraźni...
![]() -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 657 Pomógł: 2 Dołączył: 15.08.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
No właśnie gdy usunę 'static' to cały kod szlak trafia ;]
A to czasem nic nie wyświetla lub wyświeli taka strona nie istnieje ![]() Co do funkcji to zależy mi na funckji rekurencyjnej (poprostu chce się czegoś nauczyć) ![]() -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
w takim razie powinno to wyglądać tak:
(ale i tak uważam że zadanie jest głupie, a sposób jego przekazania jeszcze głupszy) -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 6.05.2025 - 05:36 |