pascalinette44
Messages postés13Date d'inscriptionsamedi 3 mars 2007StatutMembreDernière intervention26 avril 2007
-
26 avril 2007 à 08:55
cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014
-
27 avril 2007 à 09:08
Bonjour a tous , je fais actuellement un exercice dont le but est de realiser un programme permettant de decomposer un nombre entier en base 10.Ni arrivant pas j'aurais voulu trouver un corrigé mais le site n'en propose pas(pffff).alors si quelqu'un sait comment si prendre ,ce serait tres gentil.
merci
A voir également:
Algorithme nombre premier java
Comment décomposer un nombre - Meilleures réponses
Afficher les n premiers nombres premiers java - Meilleures réponses
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 26 avril 2007 à 15:24
Salut:
// Factorisation en base 10
int [] decompose (int n) {
// Note: "" n'est pas un espace, c'est du vide
int length = new String ( "" + n + "").length ();
int [] result = new int [length];
int i = 0;
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 26 avril 2007 à 15:55
Salut:
Je le sais, c'est une façon pour écrire.
De plus le compilateur va transformer chaque constante "..." en objet String.
cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014 27 avril 2007 à 09:08
Salut
Pour moi factoriser en base 10 signifie récupérer l'ensemble des facteurs premiers du nombre à "décomposer" dans une base 10 :
20 ==> 2 * 2 * 5
Si c'est effectivement ça que tu souhaite faire, je ne vois pas d'autre solution que de tout tester :
int fact = 2;
while (n > 0) {
if (! n % fact) {
result [i++] = fact;
n /= fact;
} else do {
fact++;
} while (fact pas premier) //Je sais pas comment on fait en java
}
Chaque fois que tu incrémente fact il faut le faire jusqu'à tomber sur un nombre premier, sinon tu vas avoir dans ton tablau des nombres qui seront eux-même factorisable... Mais à toi de faire le test je suis pas un fan de Java...
Ceci est bien sûr la méthode la plus directe et certainement la moins éfficace (en terme de temps) mais ya énormement d'algorithmes qui traitent le sujet. Cherche sur google
Vous n’avez pas trouvé la réponse que vous recherchez ?