티스토리 뷰

Algorithm/BOJ

9020 골드바흐의 추측

henry1214 2018. 2. 9. 15:02

https://www.acmicpc.net/problem/9020



골드바흐의 추측은 2보다 큰 모든 짝수는 두 개의 소수의 합으로 나타낼 수 있다는 것이다. 아직 정수론의 미해결 문제로 현재까지 10^18 이하에서 참이라는 것을 확인했다고 한다. 에라토스테네스의 체로 소수를 미리 구한후 n의 절반부터 줄여가면서 i와 n-i가 소수가 되는지 확인한다. 이 때 처음 발견하는 골드바흐 파티션이 두 소수의 차이가 최소이다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <cstdio>
 
bool p[10001];
int t,n;
 
int main()
{
    p[0]=p[1]=true;
    for(int i=2;i*i<10001;i++if(!p[i]) for(int j=2*i;j<10001;j+=i) p[j]=true;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        for(int i=n/2;i>=2;i--)
        {
            if(!p[i] && !p[n-i])
            {
                printf("%d %d\n",i,n-i);
                break;
            }    
        }
    }
    return 0;
}
cs


'Algorithm > BOJ' 카테고리의 다른 글

2448 별찍기 - 11  (0) 2018.02.11
1914 하노이 탑  (0) 2018.02.09
11559 Puyo Puyo  (0) 2018.02.09
5635 생일  (0) 2018.02.09
1992 쿼드트리  (0) 2018.02.09
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday