Программа получает на вход число и определяет, является ли это число простым или нет, используя рекурсивный алгоритм.
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 предлагает набор библиотек, удовлетворяющих различные потребности в визуализации, будь то академические исследования, бизнес-аналитика или…
В Python для представления данных в двоичной форме можно использовать байты. Из этой статьи вы…
В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для…
При работе с датами часто возникает необходимость прибавлять к дате или вычитать из нее различные…
В этом руководстве мы рассмотрим, как добавить социальную аутентификацию с помощью GitHub и Google в…
В этой статье мы рассмотрим, что такое подсказки типов и чем они могут быть полезны.…