[ Djuki @ 06.12.2001. 17:24 ] @
Napisati program koji ce od datog niza da formira novi u kome ce se nalaziti savrsheni brojevi datog niza. Broj je savrsen ako je jednak zbiru svojih delioca iskljucucuci njega samog. Sa tastature se unosi niz brojeva sve dok se ne unese nula ili negativan broj.
[ random @ 06.12.2001. 19:03 ] @
Analogno prethodnom zadatku, vrtiš istu petlju i delilac broja je ono i za koje je modul pri deljenju n / 1 jednak 0. Nađene delioce smeštaš u privremeni array, zatim po izlasku iz petlje sabereš sve članove tog niza i ako je zbir jednak n, upisuješ n u niz rešenja (ili ga odmah štampaš na ekran, whatever).
[ Makojdis @ 06.12.2001. 19:29 ] @
n,i,suma:integer;

ovo je deo koji proverava da li je broj n savrsen
pa ako hoces da proveris za niz ispred stavis neku petlju
npr. n:=niz[j];

suma:=1;
for i:=2 to n div 2 do
if n mod i=0 then suma:=suma+i;
if suma=n then writeln(n); <<znaci br n je savrsen
[ Toni @ 07.12.2001. 08:29 ] @
radio sam slican a mrzi me da prepravim.

Code:

program savrsen;
  var
    i,n,m,suma:longint;
  begin
    write('Unesi neki broj: ');readln(m);
    for n:=2 to m do
      begin
        suma:=1;
        for i:=2 to n div 2 do
          if n mod i=0
            then suma:=suma+i;
          if suma=n then writeln('Savrsen broj od 2 do ',m,' je ',n);
      end;
    readln
  end.