VioletaBabel
6588번: 골드바흐의 추측 본문
#include<cstdio>
#define max 1000000
int main()
{
int n, up;
bool num[max+1];
for (int i = 0; i <= max; ++i)
num[i] = 1;
for (int i = 4; i <= max; i += 2)
num[i] = 0;
for (int i = 3; i*i <= max; i += 2)
if (num[i] == 1)
for (int j = i*i; j <= max; j += 2 * i)
num[j] = 0;
for (scanf("%d", &n); n != 0; scanf("%d", &n))
{
up = 2;
while (up<=n)
if (num[up] == 1 && num[n-up] == 1)
break;
else
for (++up; num[up] != 1; ++up);
(up > n) ? printf("Goldbach's conjecture is wrong.") : printf("%d = %d + %d\n", n, up, n-up);
}
}
'백준 > 백준-C++' 카테고리의 다른 글
2748번: 피보나치 수 2 (0) | 2017.05.28 |
---|---|
2747번: 피보나치 수 (0) | 2017.05.28 |
9020번: 골드바흐의 추측 (0) | 2017.05.28 |
10834번: 벨트 (0) | 2017.05.28 |
10214번: Baseball (0) | 2017.05.28 |
Comments