s1ntex [ Senator ]
Silnia - złożoność obliczeniowa - pomocy!
Witam, czy moze mi ktos pomoc i napisac mi jak policzyc złożoność obliczeniową silnii?
program silnia_liczby;
var n:integer;
function silnia(n:integer) : integer;
begin
if n=0 then silnia:=1
else silnia := n*silnia(n-1);
end;
begin
writeln('Program oblicza silnie z dowolnej liczby');
write('Podaj liczbe: ');
readln(n);
writeln(n,'! = ',silnia(n));
end.
Mnie juz tu kurwica strzela,
z gory wielkie dzieki!
DEXiu [ Senator ]
Liniowa? (tzn. O(n) a nawet \Theta(n) )
Rekursję ogonową można rozwinąć w zwykłą pętlę. Chyba że potrzebujesz jakichś wyliczeń nie wiadomo skąd i po co :)
Macco™ [ Child Of The Damned ]
Przydałby Ci się też warunek gdy n=1 oraz gdy n<0.
tomazzi [ Flash YD ]
Złożoność liniowa. Warunek będzie sprawdzany n+1 razy.