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