Определить количество трехзначных чисел, сумма цифр которых простое число - Turbo Pascal

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

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

Написал код, но не могу понять в чем ошибка. Выводит на экран 0. Буду благодарен за помощь
Листинг программы
  1. var i,x,s,j,F,k:integer;
  2. begin
  3. for j:=100 to 999 do
  4. begin
  5. s:=0;
  6. x:=j;
  7. while x<>0 do
  8. begin
  9. s:=s+(x mod 10);
  10. x:=x div 10;
  11. end;
  12. for i:=2 to s div 2 do
  13. begin
  14. if s mod i = 0 then
  15. F:=1 else if F=0 then
  16. k:=k+1;
  17. end;
  18. end;
  19. writeln('Кол-во чисел: ', k);
  20. end.

Решение задачи: «Определить количество трехзначных чисел, сумма цифр которых простое число»

textual
Листинг программы
  1. var
  2.   i, x, s, j, count, k: integer;
  3.  
  4. begin
  5.   for j := 100 to 999 do
  6.   begin
  7.     s := 0;
  8.     x := j;
  9.     while x <> 0 do
  10.     begin
  11.       s := s + (x mod 10);
  12.       x := x div 10;
  13.     end;
  14.     k := 1;
  15.     for i := 2 to round(sqrt(s)) do
  16.     begin
  17.       if s mod i = 0 then
  18.         k := k * 0;
  19.     end;
  20.     if k = 1 then count := count + 1;
  21.   end;
  22.   writeln('Кол-во чисел: ', count);
  23. 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

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

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

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