문제
정수론(수학)에서, 세 개의 소수 문제(3-primes problem) 는 다음과 같은 추측을 말한다.
'5보다 큰 임의의 홀수는 정확히 세 개의 소수들의 합으로 나타낼 수 있다. 물론 하나의 소수를 여러 번 더할 수도 있다.'
예를 들면,
- 7 = 2 + 2 + 3
- 11 = 2 + 2 + 7
- 25 = 7 + 7 + 11
5보다 큰 임의의 홀수를 입력받아서, 그 홀수가 어떻게 세 소수의 합으로 표현될 수 있는지 (또는 불가능한지) 알아보는 프로그램을 작성하시오.
입력
첫째 줄에 T(Test Case의 수를 의미함)가 주어진다.
입력은 T개의 Test Case로 이루어진다.
각 Test Case는 하나의 정수 K (7 ≤ K < 1,000, K는 홀수)로 구성된다.
출력
T줄에 걸쳐서, 각 줄에 K가 어떻게 세 소수의 합으로 표현되는지 출력해야 한다.
가능하다면 그 세 소수를 오름차순 정렬하여 출력하면 된다.
여러 개의 답이 가능하다면 그 중 하나만 출력하면 되고, 만약 불가능하다면 0을 출력한다.
예제 입력 1 복사
3
7
11
25
예제 출력 1 복사
2 2 3
2 2 7
5 7 13
에라토스테네스의 체로 소수를 구한 후 3중 for문을 돌려서 브루트포스로 값을 구하면 되는 문제.
플레티넘 같은 어려운 문제들을 풀다가 이런 문제를 보면 3중 for문으로 간단학 해결할 문제인데 아예 이런 해결법을 배제하고 문제를 풀게 되는 것 같다. 간단하게 해결할 수 있는 것들을 어렵게 풀지 않는 습관을 들이자.
'Algorythms' 카테고리의 다른 글
프로그래머스 Level3 야근 지수 c++ 풀이 (1) | 2024.02.05 |
---|---|
백준 11441번 합 구하기 c++ 풀이 (1) | 2024.02.05 |
백준 2635번 수 이어가기 c++ 풀이 (0) | 2024.02.03 |
백준 15624번 피보나치 수 7 c++ 풀이 (0) | 2024.02.02 |
백준 9661번 돌 게임 7 c++ 풀이 (0) | 2024.02.02 |