백준 / 1929 소수구하기 (수정필요)
문제
풀이
M이상 N이하의 소수를 모두 출력하는 문제이다.
다음의 문제를 풀기 위해서 쓰는 방법은 주로 '에라토스테네스의 체'이다.
'에라토스테네스의 체'에 대한 설명은 다음 링크의 설명을 참고하자
https://velog.io/@dogit/%EB%B0%B1%EC%A4%80-2581-%EC%86%8C%EC%88%98
코드
import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int m = sc.nextInt();
//에라토스테네스의 체 알고리즘
boolean[] check = new boolean[m+1];
check[0] = check[1] = true;
for (int i=2; i*i <= m; i++) {
if (check[i] == true) {
continue;
}
for (int j=i+i; j<=m; j+=i) {
check[j] = true;
}
}
for (int i=n; i<=m; i++) {
// false = 소수
if (check[i] == false) {
System.out.println(i);
}
}
}
}
출처 : https://www.acmicpc.net/problem/1929
Author And Source
이 문제에 관하여(백준 / 1929 소수구하기 (수정필요)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dogit/백준-1929-소수구하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)