[ peka @ 21.05.2002. 16:59 ] @
Da li neko zna kako se racunaju nedodirljivi brojevi? Do koje granice treba provjeravati brojeve?

Da podsjetim, nedodirljiv broj je svaki prirodni broj koji nije jednak zbiru svih pravih djelitelja nijednog prirodnog broja. Prvih "nekoliko" su: 2,5,52,88,96,120,124,146,162,188,206,210,216,238,246,248,262,268,276,288,290,292,304,306,322,324,326,336,342,372,406,408,426,430,448,472,474,498,516,518,520,530,540,552,556,562,576,584,612,624,626,628,658

Moj program ispravno izracuna do 162, a onda izbacuje sve redom. Provjeravam do n^2.
[ Mendica @ 12.10.2004. 20:31 ] @
Saljem ti Pascal-program za nedodirljive brojeve manje od 255,
ako zelis racunati dalje, potrebno je raditi listu,
tj. zadatak rijesiti upotrebom pointera. Srdacan pozdrav!

program nedodirljiv;

var skup:set of byte;
n,d,s:longint; i:byte;

begin
skup:=[2..255];

for n:=2 to 65535 do
begin
s:=1;
for d:=2 to (n div 2) do
if n mod d=0 then s:=s+d;
if s<=255 then skup:=skup-[s];
end;
for i:=2 to 255 do
if i IN skup then write(i:5);
readln;
end.