Vérificateur de nombres premiers dans Excel VBA - Macros Excel faciles

Table des matières

Ci-dessous, nous examinerons un programme en Excel VBA ce chèques si un nombre est un nombre premier ou pas.

Avant de commencer : en mathématiques, un nombre premier est un nombre qui a exactement deux diviseurs numériques 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.

Situation:

1. Tout d'abord, nous déclarons trois variables. Une variable entière que nous appelons diviseurs, une variable longue que nous appelons nombre et une variable longue que nous appelons i. Nous utilisons ici des variables Long car les variables Long ont une capacité plus importante que les variables Integer.

Diviseurs faibles As Integer, nombre As Long, i As Long

2. Nous initialisons deux variables. Nous initialisons les diviseurs variables avec la valeur 0. Nous utilisons la fonction InputBox pour obtenir un nombre de l'utilisateur.

diviseurs = 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 nombres distincts : 1 et lui-même.

3. Nous commençons une boucle For Next.

Pour i = 1 Pour nombre

4. Vient maintenant la partie la plus importante du programme. Pour calculer le nombre de diviseurs d'un nombre, on utilise l'opérateur Mod. L'opérateur Mod donne le reste d'une division. Par exemple, 7 mod 2 = 1 car 7 divisé par 2 est égal à 3 avec un reste de 1. Seulement si 'nombre mod i' = 0, i est un diviseur de nombre. Dans ce cas, nous voulons incrémenter les diviseurs variables de 1. La macro ci-dessous fait l'affaire.

Si nombre Mod i = 0 Alors
diviseurs = diviseurs + 1
Fin si

Excel VBA vérifie cela pour 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. Seulement si ces nombres sont les seuls diviseurs du nombre, le nombre est un nombre premier.

5. N'oubliez pas de boucler la boucle.

Ensuite je

6. Si diviseurs 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 boîte de message indiquant que le nombre saisi n'est pas un nombre premier.

Si diviseurs = 2 Alors
Numéro MsgBox & " est un nombre premier"
Autre
Numéro MsgBox & " n'est pas un nombre premier"
Fin si

7. Testez le programme.

Résultat pour 104729 :

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave