Найти все целые делители числа, кроме 1 и его самого - Pascal
Формулировка задачи:
Для введенного с клавиатуры произвольного целого числа определить все возможные целые делители, кроме 1 и самого числа. Если число не имеет таких делителей, сообщить об этом. (Например: для 20 – 2,4,5,10; для 21 - 3,7; для 23 – «нет делителей»).
Решение задачи: «Найти все целые делители числа, кроме 1 и его самого»
textual
Листинг программы
var
n,i,c:longint;
begin
write('n=');
readln(n);
write(n,':');
for i:=2 to abs(n div 2)+1 do
if n mod i=0 then begin
write(i,' ');
c:=c+1;
end;
if c=0 then writeln('no divisors');
readln;
end.
Объяснение кода листинга программы
- Переменная
n- хранит введенное пользователем число. - Переменная
i- используется в цикле для перебора всех чисел от 2 до abs(n div 2) + 1. - Переменная
c- хранит количество делителей. - Пользователю выводится приглашение на ввод числа с помощью команды
write('n='). - Введенное пользователем число сохраняется в переменной
nс помощью командыreadln(n). - Выводится сообщение вида
число :с использованием командыwrite(n,':'). - В цикле происходит перебор чисел от 2 до abs(n div 2) + 1 с помощью команды
for i:=2 to abs(n div 2)+1 do. - Проверяется, делится ли число
nнаiбез остатка с помощью условияif n mod i=0 then begin. - Если число делится на
iбез остатка, тоiвыводится на экран с помощью командыwrite(i,' '), а переменнаяcувеличивается на 1. - Если переменная
cравна 0, то выводится сообщениеno divisorsс помощью командыwriteln('no divisors'). - Завершение программы с ожиданием нажатия клавиши
readln.