Member 14092758 Ответов: 2

Написать рекурсивную функцию, чтобы напечатать первые N четных чисел, используя Python


я абсолютный новичок в мире программирования.python-мой первый язык программирования ..я решил его без рекурсии, но как я могу кодировать его с помощью рекурсии, это стало трудно для меня

Что я уже пробовал:

я попробовал без рекурсии и решил ее

Patrice T

Вы должны показать, что вы сделали до сих пор.
Просто покажите, что вы что - то сделали :)

2 Ответов

Рейтинг:
12

CPallini

Вы знаете, рекурсивная функция вызывает саму себя до тех пор, пока не будет выполнено условие остановки. Итак, в вашем случае вам нужна функция, которая:

  • Проверяет условие остановки (все числа распечатаны) и возвращает, если оно выполнено.
  • Выводит текущий номер.
  • Вызывает себя с увеличенным аргументом, чтобы напечатать следующее число.

Что-то похожее на (псевдокод)
even(n, N)
  if n == N then return // stops the recursive process
  print(2*n)
  even(n+1, N) // recursive call

Тогда вы можете назвать это так
even(0,5)


Рейтинг:
0

OriginalGriff

Сначала узнайте, что такое рекурсия. Вы можете сделать это, изучив, что такое рекурсия.

Рекурсия похожа на цикл, но она отличается.
Если вы думаете о классических примерах рекурсии,то есть факториал:

N! = N * (N - 1)! while N > 1
Это, очевидно, рекурсивно, потому что определение факториального значения выражается в терминах факториала меньшего значения (пока у вас не закончатся значения)

Итак, первый большой шаг в реализации рекурсивной функции на любом языке состоит в том, чтобы выразить эту операцию в терминах рекурсивного алгоритма, то есть выразить "N четных чисел" как рекурсивный псевдокод. Тогда вы можете начать его реализацию.

Дайте ему попробовать: это не сложно, но это то, что вам нужно, чтобы получить вашу голову вокруг для себя - получив решение не учит вас ничего о том, как сделать это в следующий раз!