[ bags @ 10.06.2003. 01:59 ] @
Ima li dodjavola ugradjena funkcija u paskalu da mi moze
uraditi nesto ovako:

for x:=1 to n do
writeln(2^x);

Pregledao sam help,ali ne bas duboko.
Ako nekog ne mrzi neka odgovori.

Znam to uraditi preko rekurzivne funkcije ,ali ima li ugradjena?

[ Rapaic Rajko @ 10.06.2003. 19:31 ] @
Pitas za eksponent ili sta?
Ako je eksponent, pogledaj ovo ispod

writeln(Int64(1) shl x);

Ogranicenje je u velicini Int64 - 'samo' osam bajtova, sto znaci najveca pozitivna vrednost bi bila 2^63.
Poz

Rajko
[ Che-Lik @ 18.06.2003. 04:02 ] @
x^y moze da se odradi rekurzivno ali uzastopnim kvadriranjem. Ne znam da li si i ti mislio na ovu verziju stepenovanja ali u svakom slucaju i da nisi evo source-a pa iskoristi ako ti se svidi

Code:

function Stepen (x,y : Integer) : Integer ;
begin
  if y = 0 then 
    Stepen := 1
  else begin
    pom := Stepen (x, y DIV 2) ;
    If Odd ( y ) Then 
      Stepen := x * pom * pom
    else
      Stepen := pom * pom ;
  end ;
end ; 


Kod je napisan u Pascal/Delphi.
Toliko od mene! U zdravlje!
[ Rapaic Rajko @ 18.06.2003. 11:04 ] @
A...hteo si univerzalnu funkciju tipa x^y? Pa imas Power funkciju.
A mozes i ovako nesto:

function Exponent(x, y: double): double;
begin
result := Exp(Ln(x)*y);
end;

Rajko

P.S. Sad sam pogledao u VCL-u: Power funkcija ti je ovaj kod gore + provere opsega za base i exponent.