Kiểm tra số nguyên tố trong VBA Excel

0
15

Dưới đây chúng tôi sẽ xem xét một chương trình trong Excel VBA để kiểm tra xem một số có phải là số nguyên tố hay không.

Trước khi bạn bắt đầu: trong toán học, một số nguyên tố là một số có chính xác hai ước số khác nhau: 1 và chính nó. Các số nguyên tố nhỏ nhất gồm hai mươi lăm là: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73 , 79, 83, 89 và 97. Ví dụ: 8 có 1, 2, 4 và 8 là ước số và không phải là số nguyên tố.

Tình hình:

1. Đầu tiên, chúng tôi khai báo ba biến. Một biến số nguyên chúng ta gọi là ước số, một biến Long chúng ta gọi là số và một biến Long chúng ta gọi là i. Chúng tôi sử dụng biến Long ở đây vì biến Long có dung lượng lớn hơn biến Integer.

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

2. Chúng tôi khởi tạo hai biến. Chúng tôi khởi tạo các ước số biến với giá trị 0. Chúng tôi sử dụng hàm InputBox để lấy số từ người dùng.

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

Sau khi người dùng đã nhập một số, chúng tôi muốn kiểm tra xem số này có phải là số nguyên tố hay không. Hãy nhớ rằng, một số nguyên tố có chính xác hai ước số khác nhau: 1 và chính nó.

3. Chúng tôi bắt đầu một vòng lặp tiếp theo.

For i = 1 To number 

4. Bây giờ đến phần quan trọng nhất của chương trình. Để tính số lượng ước của một số, chúng tôi sử dụng toán tử Mod. Toán tử Mod cung cấp phần còn lại của một bộ phận. Vì vậy, 7 mod 2 sẽ cho 1. 7 được chia cho 2 (3 lần) để cho phần còn lại là 1. Chỉ khi “số mod i ‘bằng 0, tôi là ước của số. Trong trường hợp này, chúng tôi muốn tăng biến ước số của 1. Macro dưới đây thực hiện thủ thuật.

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

VBA Excel kiểm tra điều này cho i = 1, i = 2, i = 3, i = 4 cho đến khi i = số. Lưu ý rằng i = 1 và i = số luôn là ước của số. Chỉ khi những số này là ước số duy nhất của số, số đó là số nguyên tố.

5. Đừng quên đóng vòng lặp.

Next i 

6. Nếu số chia bằng 2, chúng tôi sẽ hiển thị hộp thông báo cho biết số đã nhập là số nguyên tố. Nếu số lượng ước số lớn hơn 2, chúng tôi sẽ hiển thị một hộp thông báo nói rằng số đã nhập không phải là số nguyên tố.

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

7. Kiểm tra chương trình.

Kết quả cho 104729:

Xem thêm: Toán tử MOD trong VBA Excel

Tham khảo khóa học VBA Excel tại Hà Nội

LEAVE A REPLY

Please enter your comment!
Please enter your name here