Найти произведение чётных делителей натурального числа - Turbo Pascal

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

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

Найти произведение чётных делителей натурального числа. Если можно, то дополните, что означает каждый шаг.

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

textual
Листинг программы
uses crt;
var n,d,i,p:longint;
begin
clrscr;
repeat
write('Введите натуральное число n=');
readln(n);
until n>0; //вводим число больше 0
if n mod 2<>0 then write('У числа нет четных делителей')//если нечетное, четных делителей нет
else //иначе
 begin
  p:=n; //само число-делитель
  i:=2;//начинаем с 2
  while i<=n div 2 do //до половины числа
   begin
    if n mod i=0 then//если делит
     begin
      writeln(i); //выводим (это для проверки, можно убрать)
      p:=p*i;//считаем произведение
     end;
    i:=i+2; //следующее четное
   end;
  write('Произведение четных делителей=',p);
 end;
readln
end.

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

Этот код написан на Turbo Pascal и предназначен для нахождения произведения всех четных делителей введенного натурального числа.

  1. В начале используется библиотека crt, которая содержит функции для работы с потоком ввода-вывода.
  2. Переменные n, d, i и p инициализируются как longint, что позволяет работать с большими числами.
  3. Функция clrscr() используется для очистки экрана перед вводом числа.
  4. В цикле repeat-until пользователь вводит натуральное число n. Условие до тех пор, пока n больше 0, гарантирует, что введено положительное число.
  5. Если n нечетное, выводится сообщение об отсутствии четных делителей.
  6. В противном случае начинается поиск четных делителей.
  7. Переменная p инициализируется значением введенного числа.
  8. Переменная i устанавливается равной 2 и начинается цикл while i<=n div 2 do. Цикл продолжается до половины введенного числа.
  9. В каждой итерации цикла проверяется, делится ли число n на i без остатка.
  10. Если да, то выводится число i и переменная p обновляется, умножая i на n.
  11. После окончания каждой итерации цикла значение i увеличивается на 2.
  12. По окончании всех итераций цикла выводится сообщение с произведением четных делителей.
  13. Код завершается вызовом функции readln(), чтобы прочитать ввод пользователя.

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


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

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

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