Определить количество трехзначных чисел, сумма цифр которых простое число - 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.

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

  1. Создается переменная i типа integer.
  2. Создается переменная x типа integer.
  3. Создается переменная s типа integer.
  4. Создается переменная j типа integer.
  5. Создается переменная count типа integer.
  6. В цикле от 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.
  7. Выводится сообщение Кол-во чисел:, и переменная count выводится с кавычками.
  8. Код завершается.

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


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

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

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