Определить количество трехзначных чисел, сумма цифр которых простое число - 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
выводится с кавычками. - Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д