PDA

Afficher la version complète : en vbs : les chiffres premiers



Lapinoutchou
09/04/2006, 23h32
J'aimerais bien faire, en vbs, un programme nous disans si le chiffre que l'on lui donne est premier ou pas.

mais comment traduire le fait que tout les chiffre doivent etre entiers ?
ex :
si on divise par deux 19 on a 8.5. comment esque l'on peut faire dire a la machine sois que c'est impossible sois, qu'on de retiendra pas la solution car le chiffre est decimal ?

Merci d'avance !

tyrtamos
15/04/2006, 08h07
Bonjour,

Un nombre entier n'est divisible que par lui-même (et par 1), il faut essayer de le diviser par tous les nombres inférieurs
- à partir de 2 (pour éliminer les nb pairs tout de suite)
- par tous les nb impairs qui suivent
- jusqu'à racine du nb en question (parce que c'est inutile d'aller plus loin).

Pour le programme, il faut rester en nombres entiers (si ton langage le permet), et utiliser la fonction qui calcule le reste de la division entière. Si ce reste est nul, le nb est divisible (et donc pas entier).

C'est encore mieux si tu as conservé en mémoire un tableau de nb entiers, parce qu'il suffit de les essayer: ça diminue le nb de divisions et c'est donc plus rapide.

Tu peux t'inspirer d'un programme que j'ai fait en C++ pour calculer tous les nb entiers inférieurs à un nb donné: http://linux.jpvweb.com/nombrespremiers.html

Sache qu'il existe de nombreuses méthodes: recherche avec google, il y a de nombreux sites qui parlent de mathématiques.

Tyrtamos

Taram
26/04/2006, 17h22
Bonjour,

Un nombre PREMIER n'est divisible que par lui-même (et par 1), il faut essayer de le diviser par tous les nombres inférieurs
- à partir de 2 (pour éliminer les nb pairs tout de suite)
- par tous les nb impairs qui suivent
- jusqu'à racine du nb en question (parce que c'est inutile d'aller plus loin).

Pour le programme, il faut rester en nombres entiers (si ton langage le permet), et utiliser la fonction qui calcule le reste de la division entière. Si ce reste est nul, le nb est divisible (et donc pas PREMIER).

C'est encore mieux si tu as conservé en mémoire un tableau de nb PREMIER, parce qu'il suffit de les essayer: ça diminue le nb de divisions et c'est donc plus rapide.

Tu peux t'inspirer d'un programme que j'ai fait en C++ pour calculer tous les nb PREMIER inférieurs à un nb donné: http://linux.jpvweb.com/nombrespremiers.html

Sache qu'il existe de nombreuses méthodes: recherche avec google, il y a de nombreux sites qui parlent de mathématiques.

Tyrtamos[/b]

Quelques corrections. http://www.alionet.org/style_emoticons/<#EMO_DIR#>/smile.gif

tyrtamos
26/04/2006, 19h28
Bonjour,

Toutes mes excuses pour la substitution. Je devais être fatigué...

Et merci pour la correction.

Tyrtamos