엑셀 VBA에서 소수 검사기
우리는 숫자가 소수인지 여부를 체크하는 것이 엑셀 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을 가지며, 소수 아니다.
상황 :
-
먼저, 우리는 세 가지 변수를 선언합니다. 하나 개의 정수 변수는 우리는 약수가 하나 개의 긴 변수는 우리가 수와 우리가 내가 전화를 하나 개의 긴 변수를 호출 호출합니다. 긴 변수가 정수 변수보다 큰 용량을 가지고 있기 때문에 우리는 여기에 긴 변수를 사용합니다.
Dim divisors As Integer, number As Long, i As Long
-
우리는 두 개의 변수를 초기화합니다. 우리는 우리는 사용자로부터 숫자를 얻기 위해 InputBox 함수를 사용하여 값을 0으로 변수 제수를 초기화합니다.
divisors = 0 number = InputBox("Enter a number")
사용자가 숫자를 입력 한 후, 우리는이 숫자가 소수인지 여부를 확인하고자합니다. 소수가 정확히 두 가지 숫자 제수를 가지고, 기억 : 1과 자신을.
-
우리는 다음의 루프를 시작합니다.
For i = 1 To number
-
이제 프로그램의 가장 중요한 부분을 온다. 숫자의 약수의 개수를 계산하기 위해, 우리는 국방부 연산자를 사용합니다. 국방부 연산자는 나눗셈의 나머지를 제공한다. 7 모드 (2) (1) (7) 2 (3 회)으로 나누어 줄 것이다 그래서 수의 약수이고, 0 일 ‘번호가 난을 MOD 전용 “경우 1의 나머지를 제공합니다.이 경우 우리는 변수를 증가 할 내가 수 =까지 1 씩 제수 매크로 아래 트릭.
If number Mod i = 0 Then divisors = divisors + 1 End If
엑셀 VBA 검사 전 = 1에 대해, I = 2이 난 3 = 않는 난 = 4.
-
내가 1 = 나는 항상 숫자의 약수이다이 숫자는 숫자의 유일한 약수 경우에만 번호를 =하는 것으로, 수는 소수이다
-
루프를 종료하는 것을 잊지 마십시오..
-
Next i
6의 약수는이 같다면, 우리가 입력 한 번호가 소수라고 말하는 MSGBOX를 표시합니다. 약수의 개수가 2보다 높은 경우, 우리는 말하는 MSGBOX를 표시하는 입력 한 번호 소수 아니다
If divisors = 2 Then MsgBox number & " is a prime number" Else MsgBox number & " is not a prime number" End If
-
테스트 프로그램
104729 검색 결과 :..