Première question ici, ne me criez pas dessus s'il s'agit d'un doublon ou d'un mauvais défi.
introduction
J'ai moi-même pensé à ce défi, et il semble être un bon casse-tête de base pour les golfeurs débutants. Cela pourrait également m'aider à décider quelle langue de golf de code apprendre.
Défi
Étant donné un tableau d'entiers inférieurs ou égaux à n, affichez ou renvoyez le nombre minimum de nombres du tableau qui résument exactement n.
Vous pouvez choisir d'écrire une fonction ou un programme complet.
Contribution
Vous pouvez assumer en toute sécurité 0 <= n < 2^31.
Prenez un tableau ou une liste de tout type ( vectorcar C ++ ou Java LinkedListsont autorisés), avec net un paramètre facultatif length, qui spécifie la longueur du tableau.
Vous pouvez également prendre l'entrée comme une chaîne séparée npar des espaces, séparée par une virgule ou un espace:
1 5 7 3 7 3 6 3 2 6 3,10
1 5 7 3 7 3 6 3 2 6 3 10
si c'est plus facile.
Production
Générez une sortie ou renvoyez le nombre minimal de nombres du tableau qui résument exactement n. En utilisant l'exemple ci-dessus:
1 5 7 3 7 3 6 3 2 6 3,10
Votre programme devrait imprimer:
2
parce que le nombre minimum de nombres qui se résume à 10est 2(7 et 3).
Dans le cas où il n'y a pas de solution, imprimez ou retournez soit un négatif 0, "Pas de solution" (bien que ce ne serait pas intelligent),∞ (comme suggéré), ou toute autre valeur falsifiée, à l'exception d'une chaîne vide.
Exemple d'entrée et de sortie
Contribution:
1 5 7 3 7 3 6 3 2 6 3,10
143 1623 1646 16336 1624 983 122,18102
5 6 9,12
Production:
2
3
-1
Notation
C'est le code-golf, donc le code le plus court en octets gagne.
La meilleure réponse sera acceptée à Noël.
falsedes cas sans solutions?