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

0 голосов
92 просмотров

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


Информатика (226 баллов) | 92 просмотров
0

с применением функции

Дан 1 ответ
0 голосов
Правильный ответ

//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.

(13.9k баллов)