Целые числа из промежутка от 100 до 300, у которых сумма делителей равно K - Pascal ABC

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

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

Найти все целые числа из промежутка от 100 до 300, у которых сумма делителей равно K (K вводить с клавиатуры)

Решение задачи: «Целые числа из промежутка от 100 до 300, у которых сумма делителей равно K»

textual
Листинг программы
var k,i,j,s,f:integer;
begin
write('k=');
readln(k);
f:=0;
writeln('Числа от 100 до 300 у которых сумма делителей=',k);
for i:=100 to 300 do
 begin
  s:=i+1;//1 и само число
  for j:=2 to i div 2 do //остальные
  if i mod j=0 then s:=s+j;
  if s=k then
   begin
    write(i:4);
    f:=1;
   end;
 end;
 if f=0 then write('Таких чисел нет')
 end.

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

  1. Переменная k инициализируется значением, введенным пользователем.
  2. Переменная f устанавливается в 0.
  3. Выводится сообщение с суммой делителей, которую ищет пользователь.
  4. Запускается цикл for, который проходит по всем числам от 100 до 300.
  5. Внутри цикла переменная s инициализируется текущим числом i+1.
  6. Затем идет вложенный цикл for, который проходит по остальным делителям числа i (от 2 до i/2).
  7. Если i делится на j без остатка, то переменная s увеличивается на j.
  8. Если сумма делителей s равна k, то выводится число i и переменная f устанавливается в 1.
  9. По завершении цикла проверяется значение переменной f.
  10. Если f равно 0, то выводится сообщение о том, что таких чисел нет.

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


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

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

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