/ / Prime Numurs pārbaudītājs programmā Excel VBA

Prime skaits pārbaudītājs programmā Excel VBA

Tālāk mēs apskatīsim programmu programmā Excel VBA ka pārbaudes vai numurs ir galvenais numurs vai nē.

Pirms sākat: matemātikā galvenais skaitlis ir skaitlis, kam ir tieši divi atšķirīgi skaitļu dalītāji: 1 un pati. Vismazākie divdesmit pieci galvenie skaitļi ir: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73. , 79, 83, 89 un 97. Piemēram, 8 ir 1, 2, 4 un 8 dalītāji un ir galvenais numurs.

Situācija:

Prime skaits pārbaudītājs programmā Excel VBA

1. Vispirms mēs deklarējam trīs mainīgos lielumus. Vienu Integer mainīgo mēs saucam par dalītājiem, vienu Long mainīgo mēs saucam par numuru un vienu Long mainīgo, ko mēs saucam par i. Šeit mēs izmantojam garus mainīgos, jo garajiem mainīgajiem ir lielāka jauda nekā integer mainīgajiem lielumiem.

Dim divisors As Integer, number As Long, i As Long

2. Mēs inicializējam divus mainīgos lielumus. Mēs inicializējam mainīgo dalītājus ar vērtību 0. Mēs izmantojam InputBox funkciju, lai no lietotāja saņemtu numuru.

divisors = 0
number = InputBox("Enter a number")

Ievadiet numuru

Kad lietotājs ir ievadījis numuru, mēs vēlamies pārbaudīt, vai šis numurs ir galvenais numurs vai ne. Atcerieties, ka galvenajam skaitlim ir tieši divi atšķirīgi skaitļu dalītāji: 1 un pati.

3. Mēs sākam nākamo cilni.

For i = 1 To number

4 Tagad nāk vissvarīgākā programmas daļa. Lai aprēķinātu numura dalītāju skaitu, mēs izmantojam Mod operatoru. Mod operators piešķir pārējo sadalījumu. Tātad 7 mod 2 dotu 1. 7 tiek dalīts ar 2 (3 reizes), lai piešķirtu atlikumu no 1. Tikai ja "mod modificēts i" ir vienāds ar 0, i ir skaitļa dalītājs. Šajā gadījumā mēs vēlamies palielināt mainīgo dalītāju ar 1. Makro zemāk ir triks.

If number Mod i = 0 Then
    divisors = divisors + 1
End If

Excel VBA pārbauda to par i = 1, i = 2, i = 3, i= 4 līdz i = skaitlis. Ņemiet vērā, ka i = 1 un i = numurs vienmēr ir skaitļu dalītāji. Tikai tad, ja šie numuri ir vienīgie skaitļa dalītāji, numurs ir galvenais skaitlis.

5. Neaizmirstiet aizvērt cilpu.

Next i

6 Ja dalītāji ir vienādi ar 2, tiek parādīts msgbox, kurā norādīts, ka ievadītais numurs ir galvenais numurs. Ja dalītāju skaits ir lielāks par 2, tiek parādīts msgbox, kurā norādīts, ka ievadītais numurs nav galvenais numurs.

If divisors = 2 Then
    MsgBox number & " is a prime number"
Else
    MsgBox number & " is not a prime number"
End If

7. Pārbaudiet programmu.

Rezultāts 104729:

Prime skaits pārbaudītāja rezultāts

Lasīt arī: