U nastavku ćemo pogledati program u Excel VBA da provjere je li broj a glavni broj ili ne.
Prije nego počnete: u matematici je prost broj broj koji ima točno dva različita djelitelja broja: 1 i sebe. Najmanji dvadeset i pet prostih brojeva su: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73 , 79, 83, 89 i 97. Na primjer, 8 ima 1, 2, 4 i 8 kao djelitelje i nije prost broj.
Situacija:
1. Prvo, deklariramo tri varijable. Jednu cjelobrojnu varijablu zovemo djelitelji, jednu dugu varijablu nazivamo brojem i jednu dugu varijablu koju nazivamo i. Ovdje koristimo Long varijable jer Long varijable imaju veći kapacitet od Integer varijabli.
Zatamnite djelitelje kao cijeli broj, broj As Long, i As Long
2. Pokrećemo dvije varijable. Pokrećemo promjenjive djelitelje s vrijednošću 0. Koristimo funkciju InputBox za dobivanje broja od korisnika.
djelitelji = 0
number = InputBox ("Unesite broj")
Nakon što je korisnik unio broj, želimo provjeriti je li taj broj prost broj ili nije. Upamtite, prost broj ima točno dva različita djelitelja broja: 1 i sebe.
3. Pokrećemo petlju For Next.
Za i = 1 Za broj
4. Sada slijedi najvažniji dio programa. Za izračun broja djelitelja broja koristimo se operatorom Mod. Operator Mod daje ostatak podjele. Na primjer, 7 mod 2 = 1 jer je 7 podijeljeno s 2 jednako 3 s ostatkom 1. Samo ako je 'broj mod i' = 0, i je djelitelj broja. U ovom slučaju želimo povećati varijabilne djelitelje za 1. Makro u nastavku čini trik.
Ako je broj Mod i = 0 Tada
djelitelji = djelitelji + 1
Završi ako
Excel VBA provjerava je li i = 1, i = 2, i = 3, i = 4 sve dok i = broj. Imajte na umu da su i = 1 i i = broj uvijek djelitelji broja. Samo ako su ti brojevi jedini djelitelji broja, broj je prost broj.
5. Ne zaboravite zatvoriti petlju.
Sljedeći i
6. Ako su djelitelji jednaki 2, prikazat ćemo okvir s porukom da je uneseni broj prost broj. Ako je broj djelitelja veći od 2, prikazat ćemo okvir s porukom da uneseni broj nije prost broj.
Ako su djelitelji = 2 Tada
MsgBox broj & "je prost broj"
Drugo
MsgBox broj & "nije prost broj"
Završi ako
7. Testirajte program.
Rezultat za 104729: