Décomposition en facteurs premiers

Soyez le premier à donner votre avis sur cette source.

Vue 13 338 fois - Téléchargée 525 fois

Description

Encore des maths... Il permet de savoir si un nombre entier positif peut se décomposer en facteurs premier et les facteurs sont affichés (rien de très innovants)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

BruNews
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
7 novembre 2014
13 -
Simplement du au copier/coller qu'il ne faudrait jamais faire avec du code mais ça ne retire rien à ce que j'ai dit plus haut.
"trop" d'optimisation, je ne vois même pas ce que ça veut dire.
acx01b
Messages postés
281
Date d'inscription
dimanche 7 septembre 2003
Statut
Membre
Dernière intervention
8 juillet 2014
3 -
salut

on divise n par 2 tant que l'on peut
ensuite on divise n par 2i+1 pour i variant de 1 à racine carré de n (au maximum) divisée par 2 tant que c'est possible, et surtout quand n diminue on recalcule sa racine carré

ta boucle serait alors

i = 1;
racinecarre = racinecarrede(n);
while ((i+=2) <= racinecarre) {
if (n % i == 0) {
...
n /= (i-=2);
racinecarre = racinecarrede(n);
// racinecarrede: fonction à optimiser car la version qui
// renvoie un double ne nous sert à rien
}
}
acx01b
Messages postés
281
Date d'inscription
dimanche 7 septembre 2003
Statut
Membre
Dernière intervention
8 juillet 2014
3 -
pour ce qui st de l'optimisation encore je ne sais pas si
ce n'est pas mieux:

while ((i+=2) <= racinecarre) {
if (n % i == 0) {
n /= i;
while (n % i == 0) {
compte++;
n /= i;
}
... // tu enregistres ici dans un tableau les diviseurs
compte=0;
racinecarre = racinecarrede(n);
// racinecarrede: fonction à optimiser car la version qui
// renvoie un double ne nous sert à rien
}
cs_Patrice99
Messages postés
1222
Date d'inscription
jeudi 23 août 2001
Statut
Membre
Dernière intervention
9 septembre 2018
-
> "trop" d'optimisation

Souvent l'optimisation se fait au détriment de la clarté du code, laquelle est importante pour la maintenance par exemple.
Math_Ador
Messages postés
4
Date d'inscription
vendredi 12 janvier 2007
Statut
Membre
Dernière intervention
30 avril 2010
1 -
Je vous remercie à tous pour vos suggestions.
Pour l'instant j'ai du TAF au travail.
Je les utiliserais donc plus tard.
Mais je les ai lus (par acquis de conscience)... au moins.
Et je les trouves très intéressantes.
Commenter la réponse de BruNews

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.