Ниже мы рассмотрим программу в Excel VBA, которая проверяет, является ли число простым числом или нет.

Перед тем, как начать: в математике, простое число это число, которое имеет ровно два различных цифровых делителей: 1 и самого себя. Самые маленькие двадцать пять простые числа: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73 , 79, 83, 89 и 97. К примеру, 8 имеет 1, 2, 4 и 8 в качестве делителей и не является простым числом.

Ситуация:

Prime Number Checker in Excel VBA

  1. Во-первых, мы объявляем три переменные. Одна переменной Integer мы называем делители, одна переменных Long мы называем число и одну переменную Long мы называем I. Мы используем длинные переменные здесь, потому что длинные переменные имеют большую емкость, чем переменные типа Integer.

Dim divisors As Integer, number As Long, i As Long
  1. Мы инициализируем две переменные. Мы инициализируем делители переменных со значением 0. Мы используем функцию InputBox, чтобы получить номер от пользователя.

divisors = 0

number = InputBox("Enter a number")

Enter a Number

После того, как пользователь ввел число, мы хотим, чтобы проверить это число является ли простым числом или нет. Помните, что простое число имеет ровно два различных цифровых делителей: 1 и самого себя.

  1. Мы начинаем Для следующего цикла.

For i = 1 To number
  1. Теперь наступает самая важная часть программы. Для того, чтобы вычислить количество делителей числа, мы используем оператор Mod. Оператор Mod дает остаток от деления. Таким образом, 7 мод 2 дадут 1. 7 делятся на 2 (3 раза), чтобы дать остаток 1. Только если «число моды I» равен 0, я являюсь делителем числа. В этом случае мы хотим, чтобы увеличить переменные делители на 1. макрос ниже делает трюк.

If number Mod i = 0 Then

divisors = divisors + 1

End If

Excel VBA проверяет это для I = 1, I = 2, i = 3, I = 4 до тех пор, пока я = число ||||. |. Обратите внимание, что я = 1 и я = число всегда являются делителями числа, только если эти числа являются единственными делители числа, число простое число

  1. не забудьте закрыть петлю..

  2. Если делителей равна 2, то отображение MsgBox о том, что введенный номер простое число. Если число делителей выше 2, мы показываем MsgBox о том, что введенный номер не простое число

Next i
  1. Тест программа

If divisors = 2 Then

MsgBox number & " is a prime number"

Else

MsgBox number & " is not a prime number"

End If

Результат для 104729:..

Prime Number Checker Result