자바로 소수 판별
소수
- 1과 자기 자신으로만 나누어지는 숫자
0부터 N까지 소수 구하기
public int solution(int N) {
int result = 0;
int[] check = new int[N + 1];
for (int i = 2; i < N; i++) {
if (check[i] == 0) {
result++;
for (int j = i; j <= N; j += i) {
check[j] = 1;
}
}
}
return result;
}
해당 숫자가 소수인지 판별
public boolean isPrime(int num) {
if (num == 1) return false;
// 2부터 시작해서 해당 숫자까지 약수가 있으면 false
for (int i = 2; i < num; i++) {
if (num % i == 0) return false;
}
// 약수가 없으면 true
return true;
}
Math 클래스의 sqrt() 메소드
sqrt()
: 2부터 루트n
까지의 범위에서 소수를 체크해주는 함수
public int solution(int N) {
for (int i = 2; i <= Math.sqrt(N); i++) {
if (N % i == 0) return 0;
}
return 1;
}