만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

짧은 코드로 빠르게 많은 소수 세기

시간 제한5초메모리 제한1024 MB

요약
각 테스트 케이스마다 N 이하의 소수 개수를 구합니다. 테스트 케이스가 하나면 N은 최대 10^12입니다.
난이도

보통10점 중 7점

유형
정수론, 수학, 동적 계획법
정답자
아직 제출이 없습니다

입력

첫 줄에 테스트케이스의 개수 TT가 주어진다. (T≥1T \geq 1)

각 테스트케이스마다 한 줄에 양의 정수 NN이 하나씩 주어진다.

다음 조건 중 하나 이상이 성립한다.

  • T=1T = 1, N≤1012N \leq 10^{12}
  • T≤100T \leq 100, N≤109N \leq 10^9
  • T≤104T \leq 10^4, N≤106N \leq 10^6

출력

각 테스트케이스마다 한 줄에 NN 이하의 소수 개수를 출력한다.

예제2

  1. 예제 1

    입력
    4
    1
    10
    100
    1000000000
    
    예상 출력
    0
    4
    25
    50847534
    
  2. 예제 2

    입력
    1
    1000000000000
    
    예상 출력
    37607912018