Программа получает на вход число и определяет, является ли это число простым или нет, используя рекурсивный алгоритм.
None.1 меньше, чем был до этого.1. Если хоть на одно из этих чисел оно делится без остатка, функция возвращает False. В противном случае число считается простым.Ниже дан исходный код, который осуществляет проверку числа на простоту с использованием рекурсии. Результаты работы программы также даны ниже.
def check(n, div = None):
if div is None:
div = n - 1
while div >= 2:
if n % div == 0:
print("Число не является простым")
return False
else:
return check(n, div-1)
else:
print("Число является простым")
return True
n = int(input("Введите число: "))
check(n) n.check(). В качестве второго аргумента этой рекурсивной функции передается переменная div, которая будет делителем. Она при первом вызове инициируется значением None.check(n, div-1). Заметьте, что второй аргумент div теперь на 1 меньше, чем был до этого.1. Если хоть на одно из этих чисел оно делится без остатка, функция возвращает False: число не является простым. А если нет, то число простое.Пример 1: Введите число: 13 Число является простым Пример 2: Введите число: 30 Число не является простым
Данный код приведен лишь для примера использования рекурсии. С вычислительной точки зрения он является крайне несовершенным. Так, например, рассматриваемый нами ранее алгоритм решета Эратосфена гораздо экономичней. В данном же коде есть недостатки. Например, совсем необязательно проверять, делится ли число n на n - 1 без остатка, и так ясно, что нет. Предоставим читателям возможность самим улучшить данный код.
Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…
Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…
Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…
В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…
Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…
Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…