목차

르모앙의 추측

ps
링크acmicpc.net/…
출처BOJ
문제 번호17134
문제명르모앙의 추측
레벨플래티넘 1
분류

소수 목록, 고속 푸리에 변환

시간복잡도O(nlogn + t)
인풋사이즈n <= 1,000,000, t <= 100,000
사용한 언어Python
제출기록151120KB / 2900ms
최고기록2900ms
해결날짜2021/02/15
태그

46단계

풀이

코드

"""Solution code for "BOJ 17134. 르모앙의 추측".

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

import sys
from teflib import fft
from teflib import numtheory


def main():
    T = int(sys.stdin.readline())
    N = [int(sys.stdin.readline()) for _ in range(T)]

    max_n = max(N)
    a = [0] * (max_n + 1)
    b = [0] * (max_n + 1)
    for p in numtheory.prime_list(max_n):
        a[p] = 1
        if 2 * p < max_n:
            b[2 * p] = 1

    c = fft.multiply(a, b)
    print(*(c[x] for x in N), sep='\n')


if __name__ == '__main__':
    main()