SŠta nije u redu sa mojim programom ?
program zstepen;
var a,i,o,s,m:integer;
begin
readln(o,s,m);
a:=1;
for i:=1 to s do
begin
a:=a*o;
end;
writeln(a mod m);
end.
zTreba da napises funkciju koja racuna stepen rekurzino, tvoje resenje je dosta sporo. Uzgred ovde bi trebalo da postavljas pitanja na engleskom.
de pa tebi je slozenost O( S ) sto znaci da u najgorem slucaju tvoj program radi 2*10^9 operacija sto je jako puno !
ovde na z-u racunaj da moze da ti prodje 3*10^7 operacija.
znaci moras da uradis zadatak u manjoj slozenosti.
e to ces dobiti tako sto ces stepenovati u logaritamskoj slozenosti, sto ce ti dati slozenost O( logS ), sto je malo i moze da prodje.