Comment vérifie si un nombre est un nombre premier dans Excel VBA

Ci-dessous, nous examinerons un programme dans Excel VBA qui .

Avant de commencer: en mathématiques, un nombre premier est un nombre qui a exactement deux diviseurs de nombre distincts: 1 et lui-même. Les vingt-cinq plus petits nombres premiers sont: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29,31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 et 97. Par exemple, 8 a 1, 2, 4 et 8 comme diviseurs et n’est pas un nombre premier .

1. Premièrement, nous déclarons trois variables. Une variable Integer que nous appelons diviseur, une variable Long que nous appelons nombre et une variable Long que nous appelons i. Nous utilisons ici des variables Long car les variables Long ont une capacité plus grande que les variables entières.

Dim diviseur As Integer, nombre As Long, i As Long

2. Nous initialisons deux variables. Nous initialisons la variable diviseur avec la valeur 0. Nous utilisons la fonction InputBox pour obtenir un nombre de l’utilisateur.

diviseur= 0
nombre = InputBox ("Entrez un nombre")

 

 Une fois que l’utilisateur a entré un nombre, nous voulons vérifier si ce nombre est un nombre premier ou non. N’oubliez pas qu’un nombre premier a exactement deux diviseurs de nombre distincts: 1 et lui-même.

3. Nous commençons une boucle For Next.

For i = 1 To nombre

 

4. Vient maintenant la partie la plus importante du programme. Pour calculer le nombre de diviseurs d’un nombre, nous utilisons l’opérateur Mod. L’opérateur Mod donne le reste d’une division. Donc 7 mod 2 donnerait 1. 7 est divisé par 2 (3 fois) pour donner un reste de 1. Seulement si “nombre mod i ‘est égal à 0, i est un diviseur de nombre. Dans ce cas, nous voulons incrémenter la variable diviseurs par 1. La macro ci-dessous fait l’affaire.

If nombre Mod i = 0 Then
   diviseur = diviseur + 1
End If

 

Excel VBA vérifie ceci For i = 1, i = 2, i = 3, i = 4 jusqu’à ce que i = nombre. Notez que i = 1 et i = nombre sont toujours des diviseurs de nombre. Ce n’est que si ces nombres sont les seuls diviseurs de nombre, le nombre est un nombre premier.

5. N’oubliez pas de fermer la boucle.

Next i

 

6. Si le nombre de diviseur est égal à 2, nous affichons une boîte de message indiquant que le nombre entré est un nombre premier. Si le nombre de diviseurs est supérieur à 2, nous affichons une msgbox indiquant que le nombre entré n’est pas un nombre premier.

If diviseur = 2 Then

    MsgBox nombre & " il est un nombre premier"

Else

    MsgBox nombre & " il n’est pas un nombre premier "

End If

 

  1. 7. Testez le programme.

Résultat pour 4400:

  

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Fonctions Excel

Macro VBA Utiles

Excel Pratique

Programmation VBA

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x
()
x