Prime Number Checker в Excel VBA
Ниже мы рассмотрим программу в 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 в качестве делителей и не является простым числом.
Ситуация:
-
Во-первых, мы объявляем три переменные. Одна переменной Integer мы называем делители, одна переменных Long мы называем число и одну переменную Long мы называем I. Мы используем длинные переменные здесь, потому что длинные переменные имеют большую емкость, чем переменные типа Integer.
Dim divisors As Integer, number As Long, i As Long
-
Мы инициализируем две переменные. Мы инициализируем делители переменных со значением 0. Мы используем функцию InputBox, чтобы получить номер от пользователя.
divisors = 0 number = InputBox("Enter a number")
После того, как пользователь ввел число, мы хотим, чтобы проверить это число является ли простым числом или нет. Помните, что простое число имеет ровно два различных цифровых делителей: 1 и самого себя.
-
Мы начинаем Для следующего цикла.
For i = 1 To number
-
Теперь наступает самая важная часть программы. Для того, чтобы вычислить количество делителей числа, мы используем оператор 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 и я = число всегда являются делителями числа, только если эти числа являются единственными делители числа, число простое число
-
не забудьте закрыть петлю..
-
Если делителей равна 2, то отображение MsgBox о том, что введенный номер простое число. Если число делителей выше 2, мы показываем MsgBox о том, что введенный номер не простое число
Next i
-
Тест программа
If divisors = 2 Then MsgBox number & " is a prime number" Else MsgBox number & " is not a prime number" End If
Результат для 104729:..