Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Чат
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Алгоритмы
Курсы ККДП
Дистрибутивы
Ссылки

HotLog


 
{ Составить программу печати всех совершенных чисел до 10000 }
const LIMIT = 10000;
var n,i,j,s,lim,c,d : word;
begin { основная программа }
  for i:=1 to LIMIT do begin
     s:=1; lim:=round(sqrt(i));
     for j:=2 to lim do begin
       c:=i mod j;
       d:=i div j;
       if c = 0 then begin
          inc(s,j);
          if (j<>d) then inc(s,d); {дважды не складывать корень числа}
       end;
     end;
     if s=i then writeln(i);
  end;
end.


Красноярский краевой Дворец пионеров, (c)2006 - 2017, ICQ: 151483