Algorithme
marocina2000
-
greg -
greg -
Bonjour,j'ai un exercice dont j'ai besoin d'aide en informatique le sujet est le suivant soit N un nombre entier positif inférieure ou égal à 1000.Trouver tous les entiers strictements positifs dont la somme est égale à N.on rangera les entiers d'un ensemble,en suivant l'ordre croissant,dans un tableau.A la fin le programme doit demander à l'utilisateur s'il a fini de rechercher les entiers.Si oui il sort du programme.Sinon il lui permet d'entrer un autre nombre.
A voir également:
- Algorithme
- Algorithme euromillion excel gratuit - Télécharger - Loisirs créatifs
- Algorithme ajout rapide snapchat - Forum Snapchat
- Fonction puissance algorithme - Forum Algorithmes / Méthodes
- ALgorithme dans Algobox - Forum Algorithmes / Méthodes
- Logiciel algorithme gratuit - Télécharger - Édition & Programmation
1 réponse
Bonjour,
en effet ça paraît très complexe comme ça d'emblais.
Comme souvent en informatique, tu dois diviser pour reigner, donc il faut introduire de la récursivité.
J'évite tous les détails car je suis pressé et que j'ai pas le temps de m'attarder sur les détails, mais voici un squelette assez bon, il te reste à gérer la gestion du stockage des résultats.
partionner(N entier, I indice) {
N l'entier restant a couper
I l'entier minimum à soustraire (pour éviter les doublons)
if (N < I) exit;
if (N == I) return I;
partitionner(N-I, I);
partitionner(N,I+1);
}
en effet ça paraît très complexe comme ça d'emblais.
Comme souvent en informatique, tu dois diviser pour reigner, donc il faut introduire de la récursivité.
J'évite tous les détails car je suis pressé et que j'ai pas le temps de m'attarder sur les détails, mais voici un squelette assez bon, il te reste à gérer la gestion du stockage des résultats.
partionner(N entier, I indice) {
N l'entier restant a couper
I l'entier minimum à soustraire (pour éviter les doublons)
if (N < I) exit;
if (N == I) return I;
partitionner(N-I, I);
partitionner(N,I+1);
}