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")