ВХОД

МЕТОДИЧЕСКИЕ РАЗРАБОТКИ ПО КУРСУ ИНФОРМАТИКИ

"ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ PASCAL"

Начало > Глава IV. Дружественные числа

ГЛАВА IV

АЛГОРИТМ

Дружественные числа

    {ch - первое число;
    b - делители числа s;
    i - делители числа a;
    s - сумма делителей первого числа;
    s1 - сумма делителей s;
    n, m - интервал чисел }
writeln ('Алгоритм нахождения дружественных чисел в интервале от m до n');
for ch:= n to m do {цикл для проверки первых чисел}
    begin
      s:=0;
      for i:= 1 to ch -1 do {находим все делители числа ch,
      исключая само число}
        if ch mod i = 0 then s:= s+i; {находим сумму делителей числа ch}

      s1:=0;
      for b:= 1 to s-1 do {цикл для проверки вторых чисел, которые являются суммой делителей первого числа}
        if s mod b = 0 then s1:= s1 +b; {находим все делители чила s (сумма делителей числа а)}

      if (s1=a) and (s< >a) and (s>a) then writeln ('Числа ', a, ' и ',s,' - дружественные');
      {
      1).Cумма делителей суммы делителей числа а должна быть равна числу A;
      2). Cумма делителей числа A не должна быть равна этому числу, иначе это не пара чисел, а одно и тоже число;
      3). Условие s>a для отсечения повторяющихся пар чисел
      }
    end;


 

 

 

 

 

Copyright ©2011 Nika A.S.
Hosted by uCoz