본문 바로가기
백준(Java)/23년 4월

[Java] 백준 - 4948번: 베르트랑 공준

by C0MPAS 2023. 4. 19.

4월 19일(수) - 약수, 배수와 소수2(4948번)

 

4948번: 베르트랑 공준

베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼

www.acmicpc.net

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

문제점

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Main {
    public static boolean[] prime = new boolean[123456*2 +1];
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        get_prime();

        while (true)
        {
            int n = Integer.parseInt(br.readLine());
            if( n==0)
            {
                break;
            }

            int count=0;
            for(int i=n+1; i<=2*n; i++)
            {
                if(!prime[i])
                {
                    count++;
                }
            }
            System.out.println(count);
        }
    }

    public static void get_prime(){
        prime[0] = prime[1] = true;

        for(int i=2; i<=Math.sqrt(prime.length); i++)
        {
            if(prime[i])
            {
                continue;
            }
            for(int j=i*i; j< prime.length; j+=i)
            {
                prime[j] = true;
            }
        }
    }
}

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

풀이출처 -> https://st-lab.tistory.com/85

댓글