Ci-dessous, nous examinerons un programme dans Excel VBA qui vérifie si un nombre est un nombre premier ou non.

Avant de commencer: en mathématiques, un nombre premier est un nombre qui a exactement deux diviseurs distincts nombre: 1 et lui-même. Les plus petites vingt-cinq nombres premiers sont les suivantes: 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, et n’est pas diviseurs un nombre premier.

Situation:

Prime Number Checker in Excel VBA

  1. Tout d’abord, nous déclarons trois variables. Une variable entier que nous appelons diviseurs, une variable à long nous numéro d’appel et une variable longtemps que nous appelons i. Nous utilisons des variables longues ici parce que les variables ont une plus grande capacité à long que les variables entières.

Dim divisors As Integer, number As Long, i As Long
  1. Nous initialisons deux variables. Nous initialisons les variables avec diviseurs valeur 0. Nous utilisons la fonction InputBox pour obtenir un numéro de l’utilisateur.

divisors = 0

number = InputBox("Enter a number")

Enter a Number

Après que l’utilisateur a entré un numéro, nous voulons vérifier si ce nombre est un nombre premier ou non. Rappelez-vous, un nombre premier a exactement deux diviseurs distincts nombre: 1 et lui-même.

  1. Nous commençons une boucle For Next.

For i = 1 To number
  1. Maintenant vient 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 du nombre. Dans ce cas, nous voulons augmenter la variable par 1. la diviseurs macro ci-dessous ne l’affaire.

If number Mod i = 0 Then

divisors = divisors + 1

End If

contrôles Excel VBA ceci pour i = 1, i = 2, i = 3, i = 4 jusqu’à ce que i = nombre.

  1. Notez que i = 1 et i = nombre toujours sont diviseurs de nombre que si ces chiffres sont les seuls diviseurs de nombre, le nombre est un nombre premier

    1. ne pas oublier de fermer la boucle.. 6. Si

Next i

est égal à 2 diviseurs, nous affichons un msgbox disant que le nombre entré est un nombre premier. Si le nombre de diviseurs est supérieur à 2, nous affichons un msgbox en disant que le nombre entré est pas un nombre premier

If divisors = 2 Then

MsgBox number & " is a prime number"

Else

MsgBox number & " is not a prime number"

End If
  1. Tester le programme

Résultat 104729:..

Prime Number Checker Result