
Напишите программу, которая определяет, является ли переданное ей натуральное число простым
(простое число делится только на 1 и само на себя). ОБЯЗАТЕЛЬНО СЕЛАТЬ С РЕКУРСИЕЙ НА PYTHON!

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

Ответ:
import sys
sys.setrecursionlimit(22000)
def func(a, i):
if i*i<a:
if a>=i:
if a != i and a%i != 0:
i+=1
return(func(a, i))
elif a == i:
return ('YES')
else:
return('NO')
else:
return('NO')
else:
return('YES')
i = 2
a = int(input())
print(func(a,i))
вот, первые две строчки можете убрать, если на проверки вводятся не слишком большие числа.
буду благодарен, если отметите лучшим решением:)
Объяснение:



Конечно, вот программа на Python, которая определяет, является ли переданное ей натуральное число простым с использованием рекурсии:
pythondef is_prime(n, div=2):
if n <= 1:
return False
if n == 2:
return True
if n % div == 0:
return False
if div * div > n:
return True
return is_prime(n, div + 1)
# Ввод числа с клавиатуры
num = int(input("Введите натуральное число: "))
if is_prime(num):
print(f"{num} - простое число")
else:
print(f"{num} - не простое число")
Эта программа определяет, является ли введенное число простым, используя рекурсивную функцию is_prime
. Она проверяет, делится ли число n
нацело на div
(начиная с div = 2
), и если да, то число не является простым. Если div
становится больше корня из n
, то число считается простым.


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