Jak jednoduse spocitat rosny bod
Jan Waclawek
wek@evona.sk
Čtvrtek Prosinec 2 16:26:53 CET 2004
Takto?
Najvacsia chyba medzi 2 a 65535 je okolo 0.14% ak to teda mam dobre.
wek
var
vstup,a,l:longint;
i:integer;
f:text;
begin
assign(f,'');
rewrite(f);
for vstup:=2 to 65535 do begin
a:= vstup shl 16;
l:=0;
while (a>(1 shl 16)) or (a<0) do begin {a<0 znamena vlastne a>=(1
shl 31) v pascale nemame unsigned long}
a:=a shr 1;
l:=l+30103;
end;
while a<(1 shl 16) do begin
a:=a + (a shr 8);
l:=l-169;
end;
writeln(f,vstup,' ',
l/100000:10:7,' ',
ln(vstup)/ln(10):10:7,' ',
(l/100000-ln(vstup)/ln(10))/(ln(vstup)/ln(10))*100:5:2,'%');
end;
close(f);
end.
Další informace o konferenci Hw-list