DÉCOMPOSITION EN FACTEURS PREMIERS

Messages postés
656
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
- - Dernière réponse : Minilogus
Messages postés
23
Date d'inscription
dimanche 31 janvier 2010
Statut
Membre
Dernière intervention
10 juin 2011
- 23 août 2010 à 15:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/51516-decomposition-en-facteurs-premiers

jdmcreator
Messages postés
656
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
3 -
Bonjour =)

Cette fonction est pas mal mieux optimisé que celle que j'avais faite il y a 1 an et qui m'avait valu un 1 ^^ (Je n'étais pas très bon)

De plus, j'aime beaucoup la fonctionnalité de mettre les exposants à la place de plusieurs nombre indiques =)

Par contre, peut-être pourrais-tu penser à mettre une option qui permet de retourner le code en une chaîne mathématique utilisable ;)

Ex : 2 x 3 x 17 serait 2*3*17

Du bon travail ;)
jdmcreator
Messages postés
656
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
3 -
Zut, on ne peut pas changer les commentaires

Si j'aurais remarqué, j'aurais un peu baissé ta note car ta fonction est en brute : elle utilise la valeur d'un textarea. Passe plutôt la chaîne à décomposer dans un argument.
jdmcreator
Messages postés
656
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
3 -
Quelque chose du genre :

function test(tn){
/*On modifie la chaîne tn*/

return tn;
}

document.getElementById('...').innerHTML=test(form.fact.value);

Si tu vois ce que je veux dire ;)
Minilogus
Messages postés
23
Date d'inscription
dimanche 31 janvier 2010
Statut
Membre
Dernière intervention
10 juin 2011
-
Merci de ton commentaire JDMCREATOR.

En ce qui concerne la fonction test que tu as écrit, je pense que la fonction JCVD qui est déjà implémenté fait ce fameux test.

function JCVD(x)//...Security
{
JC=parseInt(x);// transforme une chaîne de caractère en valeur numérique (tout ce qui n'est pas numérique est effacé, ainsi que ce qu'il y a après...)
JCV=JC.toString();// transforme une valeur numérique en chaîne de caractère
if(JCV.length==x.length){return Math.abs(JC);}// si la chaîne de caractère dans JCV est de taille identique à celle dans x (c'est à dire qu'il n'y a avait aucun caractère alpha lors du passage par parseInt()), renvoyer la valeur absolue de de JC (qui est égal à x dans ce cas).
else{return 0;}// autrement renvoyer la valeur 0...(ce qui affichera ni premier ni composé, bref pas bon ^^)
}

function process(form)

{
nb=JCVD(form.fact.value);// ici je fait passer le contenu du textarea dans JCVD qui me renverra dans la variable nb la valeur si il n'y a aucuns caractères autres que numérique ou un 0 dans le cas contraire...
//.......
}

Si ce n'est pas ce à quoi je suis sensé penser lorsque tu me parle de fonction test fait le moi savoir ^^.

Pour ce qui est des 2*3*17 au lieu des 2 x 3 x 17 je peut bien évidement modifier/rajouter pour que cela soit possible.
jdmcreator
Messages postés
656
Date d'inscription
samedi 30 décembre 2000
Statut
Membre
Dernière intervention
20 juillet 2012
3 -
Non, ce n'est pas ce que je voulais dire

C'est plutôt de retourner la valeur de ta fonction process plutôt que de modifier la valeur de ton DIV.... J'ai du mal à m'expliquer...