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

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

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

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

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

textual
Листинг программы
  1. uses crt;
  2. var n,d,i,p:longint;
  3. begin
  4. clrscr;
  5. repeat
  6. write('Введите натуральное число n=');
  7. readln(n);
  8. until n>0; //вводим число больше 0
  9. if n mod 2<>0 then write('У числа нет четных делителей')//если нечетное, четных делителей нет
  10. else //иначе
  11.  begin
  12.   p:=n; //само число-делитель
  13.   i:=2;//начинаем с 2
  14.   while i<=n div 2 do //до половины числа
  15.    begin
  16.     if n mod i=0 then//если делит
  17.      begin
  18.       writeln(i); //выводим (это для проверки, можно убрать)
  19.       p:=p*i;//считаем произведение
  20.      end;
  21.     i:=i+2; //следующее четное
  22.    end;
  23.   write('Произведение четных делителей=',p);
  24.  end;
  25. readln
  26. 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

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

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

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