목차

네 개의 소수

ps
링크acmicpc.net/…
출처BOJ
문제 번호1153
문제명네 개의 소수
레벨골드 4
분류

정수론

시간복잡도O(nloglogn)
인풋사이즈n<=1,000,000
사용한 언어Python
제출기록38840KB / 104ms
최고기록68ms
해결날짜2022/07/23

풀이

코드

"""Solution code for "BOJ 1153. 네 개의 소수".

- Problem link: https://www.acmicpc.net/problem/1153
- Solution link: http://www.teferi.net/ps/problems/boj/1153

Tags: [Number theory]
"""

from teflib import numtheory


def main():
    N = int(input())

    if N < 8:
        print('-1')
        return

    if N % 2:
        answer = [2, 3]
        target = N - 5
    else:
        answer = [2, 2]
        target = N - 4
    primes = set(numtheory.prime_list(N))
    p = next(x for x in primes if target - x in primes)

    print(*sorted([*answer, p, target - p]))


if __name__ == '__main__':
    main()