[ kUdtiHaEX @ 19.04.2002. 15:23 ] @
Evo ga program koji sam napisao u pascalu...zasto ne radi??
-----------------------------------------------------------------------
program abc;
var
I:longint; F, S:real;
begin
S:=0; F:=1;
For I:=1 to 2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2*2 do {inace umesto ovih dvojki treba da bude 2^50}
begin
F:=sin(i)+cos(i);
S:=S+F;
end;
writeln ('S=',S);
readln;
end.
---------------------------------------------------------------------------------------------
[ Genie @ 19.04.2002. 16:46 ] @
Pa cini mi se da 2^50 ne moze da stane u LongInt. Moraces da koristis vise usadjenih petlji.
[ Dejan Krstic @ 20.04.2002. 19:55 ] @
Tacno, nema sanse da stane u longint.

Probaj sa do while ili repeat until petljama.
[ kUdtiHaEX @ 21.04.2002. 00:00 ] @
Zanimljivo upravo sam naterao prog da radi sa 2^50...ali znate sta se desava?
Pa dobijete rezultat sa - predznakom i onda se komp zakucava na neodredjeno vreme (probao sa w98)....:)
[ Riste Pejov @ 21.04.2002. 02:27 ] @
Program se ne zakucava :)
nego jednostavno on udje u petlju a ne procesira ostale poruke koje dobija
forma,

na kraju petlje samo stavi: Application.ProcessMessages;

za da aplikacije posle svaku iteraciju unutar petlje procesira poruke koje su
poslane za njene forme, itn...
ukoliko hoces da presmetas 2^50 ili koji bilo exponent moze se posluziti
sa ln i exp funkcije

Code:

FUNCTION POWER (X: REAL; Y: REAL): REAL;
{        Raises X to the Yth power.                                    }
{        X may not be negative. If X is 0, then Y must be positive.    }
BEGIN
     IF X > 0 THEN
        POWER := EXP (Y * LN (X))
     ELSE
        IF X < 0  THEN
           Message ('Error: Cannot raise negative numbers.')
        ELSE                                               { Thus X=0. }
           IF Y > 0
              THEN POWER := 0
           ELSE
              Message ('Error: Cannot raise 0 to non-positive numbers.')
END;


ako ti trebaju stvarno veliki brojevi onda pokusaj sa Int64 za celobrojnih tipova
i Extended za real tipova.
[ Voodoo @ 23.04.2002. 17:37 ] @
Za Pascal ne znam, ali probaj u Delphiju sa {$APPTYPE CONSOLE} da umesto LongInt stavis Int64 (to jest 64-bitni integer).