
Помогите пожалуйста , не могу понять как решить Проверка числа на простоту Дано натуральное число
x>1. Проверьте, является ли оно простым. Программа должна вывести слово YES, если число простое, и NO, если число составное. Входные данные Вводится натуральное число, не превосходящее 231231. Выходные данные Выведите ответ на задачу. Примеры Ввод 1 2 Вывод YES Ввод 2 4 Вывод NO x = int(input()) for i in range(2, x+1): if x % i == 0 and x != i: print('NO') break else: print('YES') break Это моя прога, но она почему то выдает ошибку. Помогите исправить или напишите пожалуйста правильную программу

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

Ответ:
x = int(input())
for i in range(2,x+1):
if x%i == 0 and x!=i:
print('NO')
break
else:
print('YES')
break




Программа, которую вы предложили, содержит ошибки. Проблема заключается в том, что она будет выводить "NO" на каждом шаге цикла, если условие x % i == 0 and x != i
выполняется. Однако, чтобы определить, является ли число простым, вам нужно проверить, делится ли оно нацело только на 1 и само себя. Вот исправленный вариант программы:
pythonx = int(input())
# Проверка на простоту
if x <= 1:
print('NO')
elif x == 2:
print('YES')
else:
for i in range(2, int(x**0.5) + 1):
if x % i == 0:
print('NO')
break
else:
print('YES')
Этот код сначала проверяет, не является ли введенное число меньше или равным 1 (в таком случае оно не является простым). Затем программа выполняет цикл, который проверяет, делится ли число нацело на какое-либо число в диапазоне от 2 до квадратного корня из x. Если находится делитель, программа выводит 'NO'. Если же цикл завершается без нахождения делителя, то число считается простым, и программа выводит 'YES'.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili