Определить количество трехзначных чисел, сумма цифр которых простое число - Turbo Pascal
Формулировка задачи:
Написал код, но не могу понять в чем ошибка. Выводит на экран 0. Буду благодарен за помощь
Решение задачи: «Определить количество трехзначных чисел, сумма цифр которых простое число»
textual
Листинг программы
var
i, x, s, j, count, k: integer;
begin
for j := 100 to 999 do
begin
s := 0;
x := j;
while x <> 0 do
begin
s := s + (x mod 10);
x := x div 10;
end;
k := 1;
for i := 2 to round(sqrt(s)) do
begin
if s mod i = 0 then
k := k * 0;
end;
if k = 1 then count := count + 1;
end;
writeln('Кол-во чисел: ', count);
end.
Объяснение кода листинга программы
- Создается переменная
iтипаinteger. - Создается переменная
xтипаinteger. - Создается переменная
sтипаinteger. - Создается переменная
jтипаinteger. - Создается переменная
countтипаinteger. - В цикле от 100 до 999 выполняется следующий код:
- Переменная
sинициализируется как 0. - Переменная
xинициализируется как значение переменнойj. - Запускается цикл, пока
xне станет равным 0. - В цикле переменная
sувеличивается на (x mod 10), гдеmod- оператор остатка от деления. - Переменная
xделится на 10. - Переменная
kинициализируется как 1. - Запускается цикл, в котором проверяется, делится ли
sна любое число от 2 до округленного значения корня изs. Если делится, то переменнаяkустанавливается в 0. - Если в конце цикла
kравно 1, то переменнаяcountувеличивается на 1.
- Переменная
- Выводится сообщение
Кол-во чисел:, и переменнаяcountвыводится с кавычками. - Код завершается.