информатика

С клавиатуры вводятся два натуральных числа a, b (a<=b). Найти в диапазоне от a до b (включая границы) число, имеющее максимальную сумму делителей. (PASCAL)

Оставить ответ
1

Ответ №1

//Pascal
  var a,b, I, maxsumm, max : integer;
 
  function summdel(x:integer):integer; //результат - сумма делителей х
  var k,sum:integer;
  begin
    sum:=0;
    for k := 1 to x div 2 + 1 do
      if x mod k = 0 then sum:= sum+k;
    summdel:=sum;
  end;
 
  begin
   writeln('Введите границы a,b ');
   readln(a,b);
    maxsumm := 1;
    max := 1;
    for i := a to b do
     begin
        if summdel(i) > maxsumm then
          begin maxsumm:= summdel(i);
            max := i;
          end;
     end;
     writeLn('Максимальная сумма делителей - ', maxsumm, ' число - ',max)
  end.

Знаете ответ?