jmeunier
Messages postés86Date d'inscriptionmardi 10 septembre 2002StatutMembreDernière intervention17 mai 2013
-
12 mars 2005 à 16:28
cs_lenglet
Messages postés6Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention 4 avril 2006
-
15 mars 2005 à 22:36
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_lenglet
Messages postés6Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention 4 avril 2006 15 mars 2005 à 22:36
J'utilise Ie6 et j'ai refait plusieurs copier-coller du code source dans le bloc note pour n'obtenir toujours rien.
Dommage, car ce fichier peut être très utile pour des élèves de CM2.
Si quelqu'un peut m'envoyer un bon fichier à cette adresse, je l'en remercie.
ecole-lenglet@wanadoo.fr
cs_olive92
Messages postés11Date d'inscriptionmercredi 5 janvier 2005StatutMembreDernière intervention 8 mars 2006 15 mars 2005 à 18:59
pour lenglet:
Quel navigateur utilises-tu ?
Pour avoir les diviseurs d'un nombre, il faut rentrer ce nombre dans le premier champ de saisie et cliquer sur le bouton "DIVISEURS".
Pour déterminer s'il est premier, rentre le nombre au même endroit mais clique ensuite sur "NOMBRES PREMIERS (1)".
Pour rechercher les nombres premiers entre 10 et 1000 par ex, rentre 10 dans le premier champ et 1000 dans le second, puis clique sur "NOMBRES PREMIERS (2).
Voilà
cs_lenglet
Messages postés6Date d'inscriptionlundi 20 octobre 2003StatutMembreDernière intervention 4 avril 2006 14 mars 2005 à 22:19
Je dois être stupide mais :
Recopiée dans le bloc note, la page html générée indique une erreur de script.
Je ne sais pas du tout où taper un nombre pour avoir ses diviseurs.
Si quelqu'un, forcément moins idiot que moi, peut me donner la soluce, merci...
cs_olive92
Messages postés11Date d'inscriptionmercredi 5 janvier 2005StatutMembreDernière intervention 8 mars 2006 14 mars 2005 à 16:28
J'ai fais des tests et il est impossible d'utiliser:
for (var i=2; i<=10; i++)
car le script sort des nombres qui ne sont pas premiers (notamment ceux dont les diviseurs sont des nombres premiers)
cs_olive92
Messages postés11Date d'inscriptionmercredi 5 janvier 2005StatutMembreDernière intervention 8 mars 2006 13 mars 2005 à 20:14
Merci pour cette info.
En effet, l'idée n'est pas mauvaise mais pourquoi éliminer les valeurs paires pour i ?
D'un autre côté je me demande si l'on ne peut pas simplement faire:
for (var i=2; i<=10; i++)
car j'ai l'impression que tous les nombres non premiers sont divisibles par au moins l'une des valeurs suivantes: 2,3,(4),5,(6),7,(8),9,(10). Ainsi on s'affranchi de la taille du nombre à tester et on va beaucoup plus vite surtout pour les grands nombres premiers....
Je fais des tests et je vois.
jmeunier
Messages postés86Date d'inscriptionmardi 10 septembre 2002StatutMembreDernière intervention17 mai 2013 12 mars 2005 à 16:28
bonjour,
il me semble qu'en testant la parité du nombre en premier, la ligne
for (var i=2; i<=Math.ceil(Math.sqrt(z)); i++)
pourrait être remplacée par
for (var i=3; i<=Math.ceil(Math.sqrt(z)); i=i+2)
pour accélérer le traitement ...
15 mars 2005 à 22:36
Dommage, car ce fichier peut être très utile pour des élèves de CM2.
Si quelqu'un peut m'envoyer un bon fichier à cette adresse, je l'en remercie.
ecole-lenglet@wanadoo.fr
15 mars 2005 à 18:59
Quel navigateur utilises-tu ?
Pour avoir les diviseurs d'un nombre, il faut rentrer ce nombre dans le premier champ de saisie et cliquer sur le bouton "DIVISEURS".
Pour déterminer s'il est premier, rentre le nombre au même endroit mais clique ensuite sur "NOMBRES PREMIERS (1)".
Pour rechercher les nombres premiers entre 10 et 1000 par ex, rentre 10 dans le premier champ et 1000 dans le second, puis clique sur "NOMBRES PREMIERS (2).
Voilà
14 mars 2005 à 22:19
Recopiée dans le bloc note, la page html générée indique une erreur de script.
Je ne sais pas du tout où taper un nombre pour avoir ses diviseurs.
Si quelqu'un, forcément moins idiot que moi, peut me donner la soluce, merci...
14 mars 2005 à 16:28
for (var i=2; i<=10; i++)
car le script sort des nombres qui ne sont pas premiers (notamment ceux dont les diviseurs sont des nombres premiers)
13 mars 2005 à 20:14
En effet, l'idée n'est pas mauvaise mais pourquoi éliminer les valeurs paires pour i ?
D'un autre côté je me demande si l'on ne peut pas simplement faire:
for (var i=2; i<=10; i++)
car j'ai l'impression que tous les nombres non premiers sont divisibles par au moins l'une des valeurs suivantes: 2,3,(4),5,(6),7,(8),9,(10). Ainsi on s'affranchi de la taille du nombre à tester et on va beaucoup plus vite surtout pour les grands nombres premiers....
Je fais des tests et je vois.
12 mars 2005 à 16:28
il me semble qu'en testant la parité du nombre en premier, la ligne
for (var i=2; i<=Math.ceil(Math.sqrt(z)); i++)
pourrait être remplacée par
for (var i=3; i<=Math.ceil(Math.sqrt(z)); i=i+2)
pour accélérer le traitement ...
belle source.