Excel VBA'da Asal Sayı Denetleyicisi - Kolay Excel Makroları

İçindekiler

Aşağıda bir programa bakacağız Excel VBA'sı o çekler bir sayı olup olmadığını asal sayı ya da değil.

Başlamadan önce: matematikte asal sayı, tam olarak iki farklı sayı böleni olan bir sayıdır: 1 ve kendisi. En küçük yirmi beş asal sayı: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73 , 79, 83, 89 ve 97. Örneğin, 8'in bölenleri 1, 2, 4 ve 8'dir ve asal sayı değildir.

Durum:

1. İlk olarak, üç değişken tanımlıyoruz. Bir Tamsayı değişkeni bölen, bir Uzun değişkeni sayı ve bir Uzun değişkeni de i olarak adlandırırız. Burada Uzun değişkenleri kullanıyoruz çünkü Uzun değişkenler Tamsayı değişkenlerinden daha büyük kapasiteye sahip.

Dim bölenleri As Integer, sayı As Long, i As Long

2. İki değişkeni başlatıyoruz. Değişken bölenleri 0 değeri ile başlatıyoruz. Kullanıcıdan bir sayı almak için InputBox fonksiyonunu kullanıyoruz.

bölenler = 0
sayı = InputBox("Bir sayı giriniz")

Kullanıcı bir sayı girdikten sonra bu sayının asal sayı olup olmadığını kontrol etmek istiyoruz. Unutmayın, bir asal sayının tam olarak iki farklı bölenleri vardır: 1 ve kendisi.

3. For Next döngüsüne başlıyoruz.

i = 1 için sayı

4. Şimdi programın en önemli kısmı geliyor. Bir sayının bölenlerinin sayısını hesaplamak için Mod operatörünü kullanırız. Mod operatörü bir bölümün kalanını verir. Örneğin, 7 mod 2 = 1, çünkü 7'nin 2'ye bölümü 3'e ve kalan 1'e eşittir. Yalnızca 'sayı mod i' = 0 ise, i sayının bir bölenidir. Bu durumda değişken bölenleri 1 artırmak istiyoruz. Aşağıdaki makro işinizi görür.

Eğer Mod i = 0 ise
bölenler = bölenler + 1
Bitir

Excel VBA bunu i = 1, i = 2, i = 3, i = 4 için i = sayıya kadar kontrol eder. i = 1 ve i = sayı her zaman sayının bölenleridir. Yalnızca bu sayılar sayının tek bölenleriyse, sayı asal sayıdır.

5. Döngüyü kapatmayı unutmayın.

sonraki ben

6. Bölenler 2'ye eşitse, girilen sayının asal sayı olduğunu söyleyen bir mesaj kutusu görüntülenir. Bölen sayısı 2'den büyükse, girilen sayının asal sayı olmadığını söyleyen bir mesaj kutusu görüntülenir.

bölen = 2 ise
MsgBox numarası & "bir asal sayıdır"
Başka
MsgBox numarası & "bir asal sayı değil"
Bitir

7. Programı test edin.

104729 için sonuç:

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave