VioletaBabel

6588번: 골드바흐의 추측 본문

백준/백준-C++
6588번: 골드바흐의 추측
Beabletoet 2017. 5. 28. 13:17

#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