728x90
https://www.acmicpc.net/problem/6588
6588번: 골드바흐의 추측
각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰
www.acmicpc.net
include <stdio.h> // 골드바흐의 추측
int arr[1000001] = { 0, };
int main()
{
for (int i = 2; i < 1000001; i++)
{
if (arr[i] == 1)
continue;
for (int j = 2; i * j < 1000001; j++)
{
arr[i * j] = 1;
}
}
int num;
while (1)
{
scanf("%d", &num);
if (num == 0)
break;
for (int i = 3; i < 1000001; i++)
{
if (num - i <= 0)
{
printf("Goldbach's conjecture is wrong.\n");
break;
}
else if (arr[num - i] != 1 && arr[i] != 1)
{
printf("%d = %d + %d\n", num, i, num - i);
break;
}
}
}
return 0;
}
MEMO
-- 에라토스테네스의 체를 이용하여 소수가 아닌 수를 1로 표시하여 구별
!! 소수 문제 많이 풀어보기 !!
728x90
728x90
'백준[baekjoon] > C언어' 카테고리의 다른 글
백준(baekjoon) [C] - 1654번: 랜선 자르기 (0) | 2023.02.11 |
---|---|
백준(baekjoon) [C] - 2805번: 나무 자르기 (0) | 2023.02.11 |
백준(baekjoon) [C] - 2417번: 정수 제곱근 (0) | 2023.02.10 |
백준(baekjoon) [C] - 1427번: 소트인사이드 (0) | 2023.02.10 |
백준(baekjoon) [C] - 15652번: N과 M (4) (0) | 2023.02.09 |