На натуральном отрезке [a,b] найдите и выведите число N с наибольшей суммой своих делителей - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

на натуральном отрезке [a,b] найдите и выведите число N с наибольшей суммой своих делителей Через Repeat или While
Программа выводит нули. Помогите решить правильно.

Решение задачи: «На натуральном отрезке [a,b] найдите и выведите число N с наибольшей суммой своих делителей»

textual
Листинг программы
var
  a, b, i, j, s, max, N, d: longint;
 
begin
  write('Введите натуральное число a=');
  readln(a);
  write('Введите натуральное число,больше ', a, ' b=');
  readln(b);
  max := 0;
  d := a;
  i := b;
  repeat
    s := 0;
    for j := 2 to i div 2 do
      if i mod j = 0 then 
        s := s + j;
    if s > max then
    begin
      max := s;
      N := i;
    end;
    d := d + 1;
  until d < b;
  write('Наибольшую сумму делителей=', max, ' имеет число ', N);
end.

Объяснение кода листинга программы

  1. В первой строке кода объявляются переменные a, b, i, j, s, max и N, которые будут использоваться для решения задачи. Переменная d инициализируется значением типа longint.
  2. Затем происходит чтение значений переменных a и b с помощью функции readln.
  3. Переменная max инициализируется значением 0.
  4. Переменная d инициализируется значением переменной a.
  5. Переменная i инициализируется значением переменной b.
  6. Затем идет цикл repeat, который будет выполняться до тех пор, пока переменная d не станет меньше переменной b.
  7. Внутри цикла переменная s инициализируется значением 0.
  8. Для каждого числа j (от 2 до i/2) выполняется проверка, делится ли число i на j без остатка. Если да, то к переменной s прибавляется значение j.
  9. Если сумма делителей числа i больше значения переменной max, то переменные max и N инициализируются соответствующими значениями.
  10. После окончания внутреннего цикла переменная d увеличивается на 1.
  11. Когда переменная d становится меньше переменной b, цикл repeat завершается.
  12. В последней строке кода выводится сообщение, содержащее значения переменных max и N.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5
Похожие ответы