Logo
(追記) (追記ここまで)

27519번 - 소수의 합

시간 제한메모리 제한제출정답맞힌 사람정답 비율
3 초 128 MB34619113655.967%

문제

소수 (Prime Number)란 1ドル$이 아니면서, 1ドル$과 자기 자신 이외에 약수가 존재하지 않는 양의 정수를 의미합니다. 예를 들어, 2ドル,ドル 3ドル,ドル 5ドル,ドル 7ドル$ 등이 소수에 해당합니다. 함수 $f(n)$을 "$n$을 0ドル$개 이상의 소수의 합으로 표현하는 경우의 수"로 정의합시다. 이 때, 소수의 종류는 중복해서 사용할 수 있으며, 종류가 같고 순서만 다른 경우는 같은 경우로 봅니다. 예를 들어, 5ドル$는 2ドル+3$ 또는 5ドル$로 나타낼 수 있으며, 다른 방법은 존재하지 않습니다. 따라서 $f(5)$는 2ドル$입니다.

정수 $n$이 주어질 때, $f(n)$의 값을 구하여 출력하세요. 단, 정답이 커질 수 있으니 정답을 1ドル ,円 000 ,円 000 ,円 007$로 나눈 나머지를 출력하세요.

입력

첫 번째 줄에 테스트 케이스의 개수 $T$ (1ドル \le T \le 10,000円$)가 주어집니다.

두 번째 줄부터 $T+1$ 번째 줄까지 $i+1$ 번째 줄에 각각 정수 $n_i$ (0ドル < n_i \le 100,000円$)가 주어집니다.

출력

각 테스트 케이스에 대해 정답을 각각 한 줄에 출력하세요. 단, 정답이 커질 수 있으니 정답을 1ドル,000円,000円,007円$로 나눈 나머지를 출력하세요.

제한

예제 입력 1

6
1
2
5
7
10
20000

예제 출력 1

0
1
2
3
5
384444614

5ドル$에 대한 경우는 지문에 설명되어 있습니다.

7ドル$은 2ドル+2+3,ドル 2ドル+5,ドル 7ドル$로 나타낼 수 있습니다. 따라서 $f(7)$의 값은 3ドル$입니다.

10ドル$은 2ドル+2+2+2+2,ドル 2ドル+2+3+3,ドル 2ドル+3+5,ドル 3ドル+7,ドル 5ドル+5$로 나타낼 수 있습니다. 따라서 $f(10)$의 값은 5ドル$입니다.

20ドル,000円$을 소수의 합으로 나타내는 방법은 총 297ドル \dots 038$가지 (총 72ドル$자리 수입니다. 가운데 66ドル$자리는 생략되었습니다.) 있습니다. 이를 1ドル ,円 000 ,円 000 ,円 007$로 나눈 나머지는 384ドル,444円,614円$입니다.

힌트

출처

Contest > BOJ User Contest > 흐즈로컵 > 제1회 흐즈로컵 E번

채점 및 기타 정보

  • 소스 코드의 크기는 20000B을 넘을 수 없다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /