J'avais du mal à comprendre la récidive, alors j'ai pensé que je l'avais fait pour moi-même. Nous pourrions en ajouter d'autres à l'avenir. Le langage est Python3.
--Une fonction récursive est une fonction qui s'appelle elle-même dans la fonction. --Doit être implémenté pour qu'il se termine toujours quelque part
sum.py
def sum(n):
if n <= 1:
return n
return n + sum(n-1)
print(sum(100)) # 5050
sum.py
def sum(n):
res = 0
if n >= 1:
res = n + sum(n-1)
return res
print(sum(100)) # 5050
factorical.py
def fractorial(n):
if n <= 1:
return n
return n * fractorial(n-1)
print(fractorial(5)) # 120
factorical.py
def factorial(n):
res = 1
if n >= 1:
res = n * factorial(n-1)
return res
print(factorial(5)) # 120
def double_list(lst):
if lst == []:
return []
first = lst[0]
rest = lst[1:]
return [first*2] + double_list(rest)
print(double_list([1,2,3])) # [2, 4, 6]
Une explication facile à comprendre est ici
euclidean.py
def gcd(m, n):
r = m % n
if r == 0:
return n
return gcd(n, r)
print(gcd(1071, 1029)) # 21
L'exemple le plus simple pour comprendre les fonctions récursives [Fonction rétroactive comprise en Python] (https://qiita.com/dhirabayashi/items/2f079e62fa2e286f1766) [Comprendre les fonctions récursives en Python] (https://note.com/shimakaze_soft/n/nf17633fe257c) L'idée de faire d'une boucle une fonction récursive
Il est difficile d'imaginer une récidive et j'ai encore du mal ... Le code a l'air simple, mais il faut du temps pour comprendre comment cela fonctionne. Ce point de déclaration est facile à comprendre, n'est-ce pas?
Recommended Posts