Вопрос задан 29.06.2023 в 08:17. Предмет Информатика. Спрашивает Галенко Софья.

НА ПИТОНЕ А вот теперь задачка посложнее >_< Простые числа — очень распространенное понятие

в математике. Простое число — такое число, которое нацело делится само на себя и на единицу, а больше ни на что (вообще-вообще) не делится. Например, число 13. Его нельзя нацело разделить ни на 2, ни на 3, ни на 4, ни на 5.... и так далее. Когда число большое, то проверить, является ли оно простым, достаточно трудно. Не будете же вы, в самом деле, сидеть и пытаться делить 3571 на все подряд. Для обнаружения простых чисел используют современные мощные компьютеры, которые с огромной скоростью перебирают все числа и все их потенциальные делители. Давайте попробуем реализовать такой алгоритм Напишите функцию isPrime(N), которая возвращает 1, если число N простое и 0 если оно составное def isPrime(N): #Здесь напишите ваш код N = int(input("Введите число")) print(isEven(N))
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Меньшиков Александр.

def isEven(N):

   x = 1

   for i in range(2,N+1):

       for j in range(2,i):

           if i % j == 0:

               x = 0

               break

   return x;

N = int(input("Введите число "))

print(isEven(N))

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для проверки, является ли число простым или составным, можно реализовать следующую функцию isPrime(N):

python
def isPrime(N): if N <= 1: return 0 # 0 и 1 не считаются простыми числами if N <= 3: return 1 # 2 и 3 являются простыми числами # Если число четное (кроме 2), то оно не является простым if N % 2 == 0: return 0 # Проверяем делители от 3 до квадратного корня из N с шагом 2 (чтобы проверять только нечетные числа) for i in range(3, int(N**0.5) + 1, 2): if N % i == 0: return 0 # Найден делитель, число составное return 1 # Если не нашли делителей, то число простое N = int(input("Введите число: ")) result = isPrime(N) if result: print(f"{N} - простое число") else: print(f"{N} - составное число")

Эта функция сначала проверяет несколько базовых случаев (0, 1, 2, 3), а затем проверяет нечетные числа от 3 до квадратного корня из N, так как большие делители будут симметричными и меньшие делители уже проверены. Если находится делитель, функция возвращает 0 (составное число), в противном случае возвращает 1 (простое число).

0 0

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

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

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

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