Найти сумму элементов одномерного массива, у которых сумма делителей меньше заданного числа - PascalABC.NET

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

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

Дан одномерный массив, который содержит не более 50 целых чисел. Найти сумму элементов, у которых сумма делителей меньше данного числа Х. Помогите, пожалуйста. Суть в том, что тут нужно вычислять сумму делителей через функцию, а у меня не хватает знаний, чтобы написать.

Решение задачи: «Найти сумму элементов одномерного массива, у которых сумма делителей меньше заданного числа»

textual
Листинг программы
function SumDel(N : Integer) : Integer;
begin
  Result := 0;
  for var D := 1 to abs(N) do
    if N mod D = 0 then
      Result += D;
end;
 
begin
  WriteLn(SumDel(100));
end.

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

В этом коде написана функция SumDel, которая принимает целочисленный аргумент N и возвращает сумму всех его делителей, которые меньше или равны N. В первой строке функции объявляется переменная Result со значением 0, которая будет использоваться для хранения суммы. Затем в цикле от 1 до абсолютного значения N (это делается для учета и отрицательных чисел) перебираются все возможные делители D. Если N делится на D без остатка (т.е. N mod D = 0), то к сумме добавляется значение D. По завершении цикла, функция возвращает полученную сумму. В основной части программы вызывается функция SumDel с аргументом 100 и результат выводится на экран.

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


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

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

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