Nombre premier

moumaiag Messages postés 6 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 12 janvier 2007 - 12 janv. 2007 à 21:24
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 - 15 janv. 2007 à 22:51
bonjour
je veux un code d'un bouton "premier" qui me détermine si un nombre entré dans un textbox est un nombre premier ou non et un grand  merci pour votre aide

13 réponses

mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
12 janv. 2007 à 21:28
Salut,

tu as moultes sources sur le sujet :

Source dispo avec ces mots :
[k-code-nombre.aspx nombre] (54), [k-code-premier.aspx premier] (19)

[codes/MDI-EXEMPLE_4319.aspx MDI EXEMPLE]

voici un exemple du fonctionement des feuilles MDI + childs

un bon apprentissageDim feuilles()
Dim nombre

Private Sub MnuAjouterNouvelleFeuille......

[codes/CONVERSION-BINAIRE-VERS-DECIMAL-DECIMAL-VERS-BINAIRE_7161.aspx CONVERSION BINAIRE VERS DECIMAL / DECIMAL VERS BINAIRE]

Exemple :
toto= dec2bin(78)
toto vaudra alors 1001110

toto=bin2dec(1001110)
toto vaudra alors 78
Public Function dec2bin( nombre As Long) As......

[codes/SAVOIR-SI-NOMBRE-EST-PREMIER_383.aspx SAVOIR SI UN NOMBRE EST PREMIER !!!]

Permet de verifier si un nombre est premier. '*************************************************
'* NOM : IsNPremier
'* DATE : 31/07/2000
'*
'* AUT......

[codes/RACINE-CARREE-AJOUT-FONCTIONS-PRECEDENTES_8262.aspx RACINE CARRÉE (AJOUT AUX FONCTIONS PRÉCÉDENTES)]

Voilà, il y a quelques temps, j'avais posté une source avec un ensemble
de fonctions mathématiques pour les calculs sur de très grands nombre:
http:/......

[codes/NOMBRES-PREMIERS_4288.aspx NOMBRES PREMIERS]

Chercher les nombres premiers inferieurs à nombre précis !zip......

[codes/RECHERCHE-NOMBRES-PREMIERS_27662.aspx RECHERCHE DE NOMBRES PREMIERS]

Salut à tous
voilà ce soir j'ai eu une pulsion, j'avais envie de chercher des
nombres premiers, peut-etre pour plus tard développer un programme de
c......

[codes/DECOMPOSITION-NOMBRE-FACTEURS-PREMIERS_32323.aspx DÉCOMPOSITION D'UN NOMBRE EN FACTEURS PREMIERS]

Ce code décompose un nombre
en produit de facteurs premiers. Cette décomposition existe est est
unique pour tout entier naturel différent de 1 et de 0......

[codes/RECHERCHE-INCREMENTALE_1096.aspx RECHERCHE INCRÉMENTALE]

Pour ce code vous avez besoin d'une combobox appelée combo1 et d'une textbox appelée text1

J'ai mis en dessous le code si l'on utilise une liste.CE......

[codes/PROTEGER-DEPROTEGER-TOUTES-FEUILLES-CLASSEUR_7874.aspx PROTÉGER ET DÉPROTÉGER TOUTES LES FEUILLES D'UN CLASSEUR]

Protéger et déprotéger toutes les feuilles d'un classeur
souce netAttribute VB_Name = "ProtectionDeprotectionFeuilles"



Sub Protéger()
' Prote......

[codes/RANDOM_925.aspx RANDOM]

La fonction Rnd donne souvent les mêmes nombres. Avec ce code c'est des nombres différents Function rndd(jusqa)
'jusqua veut dire que le nombre r......

[codes/NOMBRE-PREMIER_763.aspx NOMBREPREMIER ?]

Il suffit d'appeler cette fonction qui renverra vrai si Nombre est un nombrepremier (vous l'aurez compris). Pas de difficulté particulière... Public ......

[codes/ROTATION-BINAIRE_3943.aspx ROTATION BINAIRE]

permet de convertir une chaine en binaire de faire une rotation et de
le reconvertir en chaine. utile pour le cryptage ou le calcul de
certaine checks......

[codes/CONVERTIR-CHIFFRES-LETTRES-AVEC-OU-SANS-DECIMALE-OU_36562.aspx CONVERTIR DES CHIFFRES EN LETTRES AVEC OU SANS DÉCIMALE ET/OU MONÉTAIRE]

je sais qu'il en existe déjà plusieurs mais celui-ci n'utilise
qu'une boucle de traitement (centaine, dizaine et unité)

permet de convertir des n......

[codes/UTILISATION-FONCTION-RANDOM-POUR-DEBUTANTS_20556.aspx UTILISATION DE LA FONCTION RANDOM POUR LES DÉBUTANTS]

Ce programme choisis un nombre entre 0 et 100.
Vous devez devinner quel est ce nombre.
Le programme compare votre nombre au nombre choisis alléatoir......

[codes/LISTE-NOMBRES-PREMIERS-JUMEAUX_32607.aspx LISTE DES NOMBRES PREMIERS JUMEAUX]

Ce programme liste les nombres premiers jumeaux. Nous allons tout
d'abord définissons ce terme. P et P+2 sont jumeaux si P et (P+2) sont
premiers. Pou......

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
12 janv. 2007 à 21:49
Bonsoir,

Parmi cette liste, certaines références ne correspondent pas. De plus, est-ce  moumaiag recherche le rapide, ou le plus simple ? (pour un apprentissage...)

Je trouve mortalino que t'as réponse est un peu sèche, tout de même...

Modestement, (mais ce n'est plus tout à fait à un niveau de débutant en terme de compréhension) je propose ma source : http://www.vbfrance.com/codes/NOMBRE-PREMIER-VRAI-OU-FAUX_40479.aspx

Amicalement,


Us.






 
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
12 janv. 2007 à 22:05
Le théorème de Wilsin est pourtant la réponse, non ?

soit toto = factorielle de nombre-1 = (en maths) : (nombre-1) !

nombre est premier si (toto + 1 ) / nombre est un entier, donc :

si (toto + 1) mod nombre = 0,
ce qui donne :
si  ((nombre-1) ! + 1) mod nombre = 0
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
12 janv. 2007 à 22:06
Que Monsieur Wilson me pardonne d'avoir écrit Wilsin au lieu de Wilson !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
12 janv. 2007 à 22:14
Mathématiquement c'est juste... mais informatiquement c'est juste !

As-tu déjà calculé une factorielle ! (sans passer par les grands nombre) tu iras pas très loin... donc programmer directement le théo de Wilson tu ne pourras pas déterminer si un nombre même petit est premier...

Exemple :
Si tu voulais savoir si 101 est premier... Avec le théorème de Wilson...
Tu calcules : 101*100*99*...*2*1 = ce qui te donne un nombre qui dépasse les capacité de calcul de l'ordinateur ! et STOP ! bloqué !

Pour info 101 ! = 942594775983835942085162312448293674956231279470254376832788
935341697759931622147650308786159180834691162349000354959958
3369706302603264000000000000000000000000

Voilà pourquoi, il ne faut pas faire n'importe comment... et quand on recherche en plus le plus rapide, ben, il faut se creuser les méninges...

Amicalement,
Us.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
12 janv. 2007 à 22:24
Ouais ... t'as raison us_30 : Monsieur Windows ne suivrait pas !

Alors ? Et si on allait voir Monsieur Fermat ?

Nombre est premier si toto étant un entier quelconque :

(toto ^ nombre - toto) mod nombre = 0

Aië ! Ouille ! Windows va encore se casser la g***** avec toto ^ nombre !
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
12 janv. 2007 à 22:36
Oui et non !

Oui, si on calcul directement sans astuce... on retrouve le problème de la factoriel...

Non, si on calcul pas explicitement toto^nombre, grâce au modulo qui suit... puisqu'on cherche le reste, on peut asticieusement calculer de proche en proche les modulo sans passer par le calcul explicite de la puissance...

Amicalement,
Us.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
12 janv. 2007 à 22:40
Salut US_30,

Réponse sèche, c'est un point de vue, je ne suis pas spécialisé dans les nombres premiers donc je lui indique une page pleine de sources.

J'ai une excellente mémoire des membres, et si tu fouilles ses demandes précédantes, (je veux, faite moi, etc...), après lecture, on verra qui est "sec" dans ses formulations.
Au contraire, je trouve que je suis particulièrement de bonne humeur pour lui indiquer un lien vers plusieurs sources.

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
moumaiag Messages postés 6 Date d'inscription samedi 9 décembre 2006 Statut Membre Dernière intervention 12 janvier 2007
12 janv. 2007 à 23:03
salut
je vous remerci tous pour vos aides.
oui c'est vrai j'ai trouver un erreur(depassage de capacité) lorsque j'ai essayé avec ce code ci_dessous et surtout lorsque je donne un nbre>=14
Private Sub Command1_Click()
Dim fact, I, x As Integer
Dim A As Double
x = Val(Text1.Text)
fact = 1
If (x = 0) Then
A = 1
Else
For I = 1 To x - 1
fact = fact * I
Next I
A = fact 'c'est le factoriel de (x-1)
End If
If ((A + 1) Mod x = 0) Then
MsgBox "1er"
Else
MsgBox "non 1er"
End If
End Sub
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
14 janv. 2007 à 15:02
Salut




mortalino
,

Loin de moi de te critiquer. Je sais que tu es très actifs dans les forums, et que tu as aidé beaucoup de monde (qui parfois ont aussi tendance à poser des questions très directes sans mise en perspective, ce qui est aussi embêtant, à la " longue… "). Je suis désolé, et te présente mes excuses si ma remarque ta choqué. Je ne voulais point de jeter la pierre. Le ton d'un message écrit est parfois un art difficile... Je voulais juste glisser une petite remarque... J'aurai dû m'abstenir, car mon attention n’était pas là, et restait amicale.Amicalement,
Us.
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
14 janv. 2007 à 15:05
Euh.... désolé pour la taille de la police... (pas fait exprès)

Us.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
14 janv. 2007 à 15:17
Salut us_30,

je te rassure, je ne suis pas succeptible à ce point, et je ne l'ai pas mal pris (sinon,je ne t'aurai pas mis le clin d'oeil à la fin)
En fait je me suis surtout justifié afin de dire que si je paraissais sec, c'était pas vraiment voulu, n'ayant aucunes compétences dans les nombres premiers, je n'avais qu'un lien à fournir (donc pas d'explications à donner, juste un lien).
Je voulais surtout faire remarquer à moumaiag, que même n'étant pas spécialisé, une recherche afin d'avoir déjà une base est quand même bien mieux (et plus instructif) que de demander un plat tout cuit.

Bref, tout ça pour dire que tu n'as pas d'excuses à me fournir, et que te croiser dans le forum (ainsi que certains autres membres) est un plaisir.

@ bientôt

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
15 janv. 2007 à 22:51
Bonsoir,

Excellent esprit chevaleresque ! Aller trêve de politesse… (bien que…)… A la prochaine…

Amicalement,
Us.

PS : c'est un plaisir partagé...
0
Rejoignez-nous