Нижче ми розглянемо програму в 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 і не є простим числом.
Ситуація:
1. Спочатку ми оголошуємо три змінні. Одну цілочисельну змінну, яку ми називаємо дільниками, одну довгу змінну, яку ми називаємо числом, і одну довгу змінну, яку ми називаємо i. Тут ми використовуємо довгі змінні, оскільки довгі змінні мають більшу ємність, ніж цілі.
Дім дільників як ціле число, число As Long, i As Long
2. Ми ініціалізуємо дві змінні. Ми ініціалізуємо дільники змінних значенням 0. Ми використовуємо функцію InputBox, щоб отримати число від користувача.
дільники = 0
number = InputBox ("Введіть число")
Після того, як користувач ввів число, ми хочемо перевірити, чи є це число простим чи ні. Пам’ятайте, що просте число має точно два окремих дільника числа: 1 і самого себе.
3. Починаємо цикл For Next.
Для i = 1 до числа
4. Тепер настає найважливіша частина програми. Для обчислення кількості дільників числа ми використовуємо оператор Mod. Оператор Mod дає залишок від ділення. Наприклад, 7 mod 2 = 1, оскільки 7, поділене на 2, дорівнює 3 із залишком 1. Тільки якщо 'число mod i' = 0, i є дільником числа. У цьому випадку ми хочемо збільшити дільники змінних на 1. Макрос нижче робить трюк.
Якщо число Mod i = 0 Тоді
дільники = дільники + 1
Закінчити Якщо
Excel VBA перевіряє це на i = 1, i = 2, i = 3, i = 4, поки i = число. Зауважте, що i = 1 і i = число завжди є дільниками числа. Тільки якщо ці числа є єдиними дільниками числа, число є простим числом.
5. Не забудьте закрити цикл.
Далі i
6. Якщо дільники дорівнюють 2, ми відображаємо вікно повідомлення, яке вказує, що введене число є простим. Якщо кількість дільників більша за 2, ми відображаємо повідомлення з повідомленням, що введене число не є простим числом.
Якщо дільники = 2 Тоді
MsgBox число & "є простим числом"
Інакше
MsgBox число & "не є простим числом"
Закінчити Якщо
7. Перевірте програму.
Результат для 104729: