JAVA/알고리즘 공부
[JAVA] 1~100까지 소수 구하기
soyeonisgood
2022. 7. 16. 13:59
- 소수는 1과 자기자신만 약수로 가짐. 1과 자기자신을 제외한 수로 나눴을 때, 나머지가 존재하면 소수가 아님.
- 1은 소수가 아니므로 2~100까지의 숫자 for(i)문으로 생성.
- 생성된 숫자를 2부터 자기자신-1으로 나눈 나머지를 확인하는 for(j)문 선언. 한 번이라도 나눠지면 소수가 아니므로 break.
- 만약 2~자기자신-1으로 나눠지지 않는다면, 소수이므로 cnt변수는 그대로 0.
- 한줄에 출력되는 소수의 갯수 카운트하는 line변수는 10개가 되면 0으로 다시 초기화.
- 소수의 갯수 합계를 카운트하는 num변수
package ExamQuiz;
public class ForExam05 {
public static void main(String[] args) {
// 0~100까지 소수를 한줄에 10개씩 출력
int cnt, line, n;
cnt = line = n = 0;
for (int i = 2; i <= 100; i++) {
for (int j=2; j<i; j++) {
if (i % j != 0) {
break;
} else {
cnt++;
}
}
if(cnt==0) {
line++;
n++;
System.out.print(i+"\t");
}
if(line==10) {
System.out.println();
line=0;
}
cnt=0;
}
System.out.print("\n소수의 갯수: "+n);
}
}