-
BOJ) 베르트랑 공준알고리즘/백준 2020. 6. 24. 17:11반응형
베르트랑 공준
4948번: 베르트랑 공준
문제 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 ��
www.acmicpc.net
풀이
에라토네스의 채를 확실히 익혔는지 확인하려고 풀었다.
방법은 바로 이전 포스팅과 같기 때문에 딱히 포스팅할 말은 없다.
에라토네스 채는 자신의 배수에 대해서 소수가 아님을 체크해주는 방식이다.
코드
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class FindPrimeNums_4948 { final static String END = "0"; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String inputStr = ""; while(!(inputStr = br.readLine()).equals(END)) { int n = Integer.parseInt(inputStr); System.out.println(getCnt(n)); } } private static int getCnt(int n) { int cnt =0; boolean[] prime = new boolean[n*2+1]; for(int i=2; i<=2*n; i++) { if(!prime[i]) { if(i >n) { cnt++; } for(int j=i*2; j<=2*n; j+=i) { prime[j] = true; } } } return cnt; } }
반응형'알고리즘 > 백준' 카테고리의 다른 글
BOJ) 손익분기점 (2) 2020.06.25 BOJ) 01타일 (0) 2020.06.25 BOJ) 소수 구하기 (0) 2020.06.24 BOJ) 카드 (0) 2020.06.24 BOJ) 랜선 자르기 (0) 2020.06.24