Bonjour, J'ai essayer de créer une fonction récursive pour tester toutes les combinaisons d'additions dans champignons pour arriver a une valeur p. Mais l'algorithme marche à chacun de mes essais, mais pas lorsque je le soumet. Pourriez-vous m'aider à trouver mon erreur?

def poids_en_champignons(n,p,actuel,i):

1
2
3
4
5
6
7
8
9
retour=False
if i==n:
    return retour
for j in range(i,n):
    if actuel+champignons[j]==p:
        return True
    elif actuel+champignons[j]<p:
        retour=max(retour,poids_en_champignons(n,p,actuel+champignons[j],i+1)) 
return retour

valide=poids_en_champignons(n,p,0,0) if valide: print("OUI") else: print("NON")