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

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

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

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

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

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

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

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

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


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

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

12   голосов , оценка 3.917 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы