소수
들을 찾아서 출력하시오.소수
2
3
5
7
11
13
...
99923
99929
99961
99971
99989
99991
public class Main{
public static void main(String[] args){
for(int i=2; i<=100000; n++){
boolean isPrime = true;
for(int i=2; i*i<=n && isPrime; i++{
if(n%i == 0)
isPrime = false;
}
if(isPrime)
System.out.println(n);
}
}
}
각각의 정수 n에 대해서 이 for문을 돌면서 2보다 크거나 같은 약수가 있는지 검사한다. 하나라도 약수가 있다면 이미 소수가 아니므로 더 이상 검사할 필요가 없다.
변수 isPrime이 어떤 역할을 하는지 잘 생각해봐야한다.
입력된 수가 소수인지 판별하시오
7은 소수입니다.
public class Main{
public static void main(String[] args){
int num = 7;
boolean isPrimeNumber = true;
for(int i=2; i<=num/2; i++){
if(num%i==0)
isPrimeNumber = false;
}
if(isPrimeNumber){
System.out.println(num + "은 소수입니다.");
} else {
System.out.println(num + "은 소수가 아닙니다.");
}
}
}
Reference