Défi N°1 : Génération des ensembles de nombre dont la somme est identique
Bonjour,
Pour ce premier défi, l'équipe de developpez.com vous propose un challenge assez simple pour débuter.
Le problème étant le suivant :
Challenge :
Soit un entier n en entrée,
Déterminer tous les ensembles de nombre entier positif dont la somme vaut n.
Par exemple pour 5, tous les ensembles de nombre dont la somme vaut 5 sont :
- 5
- 4 1
- 3 2
- 3 1 1
- 2 2 1
- 2 1 1 1
- 1 1 1 1 1
A noter que l'on souhaite des ensembles, il n'y a donc pas de doublon (on a une seule fois (3,2), et pas : (3,2) et (2,3) par exemple).
Il n'y a pas de règle sur le format de sortie. Le format standard pour les langages fonctionnels pourra par exemple être une liste de liste :
[[5], [4,1], [3,2], [3,1,1], [2,2,1], [2,1,1,1], [1,1,1,1,1]]
Pour un langage impératif, la sortie pourra simplement être écrite sur la sortie standard.
Les règles
Il n'y a pas de règle particulière (évidemment, il faut que la solution proposée fonctionne). Vous pouvez proposer des solutions aussi bien dans des langages fonctionnels (caml, haskell, scheme, lisp...) qu'impératif. Le public pourra ainsi juger du code suivant divers critères :
- la maintenabilité
- la simplicité
- le fait qu'il soit optimisé
Le public pourra également juger les différences entre une solution fonctionnelle et une solution impérative. Il lui sera ainsi plus facile de voir, pour un même problème, les différences entre divers paradigmes.
Pour répondre, il vous suffit de poster à la suite.
A vos claviers
:merci: de votre participation.
__________________________
Sujet proposé par Jedaï