Вопрос задан 09.10.2026 в 11:29. Предмет Информатика. Спрашивает Досмагулов Диас.

Найдите ошибку и исправьте ее:

import math
N=int(input())
i=j=x=0
for i in range (1,N+1):
x=int(input())
z=0
for j in range (2,round(math.sqrt(x))):
if x%j==0
z=1
if z==0
print(x)

Перейти к ответам

Ответы на вопрос

Отвечает Медведев Влад.

В данном коде допущено несколько ошибок: пропущены двоеточия, нарушены отступы и неправильно заданы границы цикла проверки делителей.

Программа должна считывать N чисел и выводить среди них только простые числа.

Исправленный код

Python

import math

N = int(input())

for i in range(1, N + 1):
x = int(input())
z = 0

if x < 2:
continue

for j in range(2, math.isqrt(x) + 1):
if x % j == 0:
z = 1
break

if z == 0:
print(x)

Какие ошибки были допущены?

1. Пропущено двоеточие после условия if.

В исходном коде:

Python
if x % j == 0

Правильно:

Python
if x % j == 0:

В Python после условия if обязательно ставится двоеточие.

2. Пропущено двоеточие во втором условии.

Было:

Python
if z == 0

Правильно:

Python
if z == 0:

3. Неправильные отступы.

В исходном коде:

Python
if z == 0
print(x)

Проверка if z == 0 должна находиться внутри внешнего цикла for, но за пределами внутреннего цикла. Команда print(x) должна быть вложена в условие.

Иначе программа не сможет правильно проверить и вывести каждое введённое число.

4. Ошибка в границе внутреннего цикла.

Было:

Python
for j in range(2, round(math.sqrt(x))):

Правильно:

Python
for j in range(2, math.isqrt(x) + 1):

Функция range() не включает правую границу. Поэтому необходимо прибавить 1, чтобы проверить делители вплоть до квадратного корня включительно.

Функция math.isqrt(x) вычисляет целую часть квадратного корня без ошибок округления.

Например, число 9 не является простым, поскольку делится на 3. Поэтому делитель 3 обязательно должен участвовать в проверке.

5. Не предусмотрена проверка чисел меньше 2.

Числа 0, 1 и отрицательные числа не являются простыми.

Поэтому добавляем:

Python

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос