sqrt log sin

시간 제한1초메모리 제한128 MB

요약
주어진 점화식과 부동소수점 내림을 사용해 10^6까지의 x_i를 미리 계산하고, 각 질의에 답을 10^6으로 나눈 나머지로 출력한다.
난이도

보통10점 중 4점

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

문제

도현이는 수학 숙제를 풀고 있다. 숙제 내용은 다음과 같다.

아래와 같이 재귀적으로 정의된 수열이 있다.

x0=1x_0 = 1

xi=x⌊i−i⌋+x⌊ln⁡(i)⌋+x⌊isin⁡2(i)⌋x_i = x_{\lfloor i - \sqrt{i} \rfloor} + x_{\lfloor \ln(i) \rfloor} + x_{\lfloor i \sin^2(i) \rfloor}

이때 x1000000x_{1000000}의 값을 구하여라.

일반화하여, 정수 ii가 주어졌을 때 xix_i를 계산하는 프로그램을 작성하시오. 여기서 ⌊y⌋\lfloor y \rfloor는 yy를 넘지 않는 가장 큰 정수(내림)를 뜻하고, ln⁡\ln은 자연로그, sin⁡\sin의 각도 단위는 라디안이다.

입력

입력은 여러 개의 테스트 케이스로 이루어진다. 각 줄에 정수 ii가 하나씩 주어지며, 0≤i≤1060 \le i \le 10^6이다.

입력의 마지막 줄에는 −1-1이 주어지며, 이는 입력의 끝을 나타낸다. −1-1은 처리하지 않는다.

출력

입력으로 주어진 각 ii에 대해 xix_i를 10610^6으로 나눈 나머지를 한 줄에 하나씩 출력한다.

예제4

  1. 예제 1

    입력
    0
    -1
    
    예상 출력
    1
    
  2. 예제 2

    입력
    1
    -1
    
    예상 출력
    3
    
  3. 예제 3

    입력
    2
    3
    4
    5
    -1
    
    예상 출력
    5
    7
    13
    21
    
  4. 예제 4

    입력
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    -1
    
    예상 출력
    3
    5
    7
    13
    21
    11
    23
    49
    19
    21