만드는 중입니다

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

계산: 과제 8

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

요약
절댓값이 10의 9제곱 이하이고 소수점 아래 자릿수가 9자리 이하인 실수 a를 입력받아, 허용된 명령어만으로 a를 10으로 나눈 값을 구합니다.
난이도

보통10점 중 5점

유형
비트 연산, 수학, 구현
정답자
아직 제출이 없습니다

문제

주어진 과제를 아래 명령어로 해결하는 프로그램을 작성하라. xtx_t는 tt번째 명령의 결과를 뜻한다. 사용할 수 있는 명령, 문법, 결과 xtx_t는 다음 표와 같다.

이름연산자매개변수동작
입력I없음터미널에서 실수 하나를 읽어 xtx_t로 한다
출력Oiixix_i를 터미널에 출력하고, xt=xix_t = x_i이다
덧셈+iji \quad jxt=xi+xjx_t = x_i + x_j
상수 더하기Cici \quad cxt=xi+cx_t = x_i + c
부호 반전-iixt=−xix_t = -x_i
왼쪽 시프트<iki \quad kxt=xi⋅2kx_t = x_i \cdot 2^k
오른쪽 시프트>iki \quad kxt=xi⋅2−kx_t = x_i \cdot 2^{-k}
SSiixt=s(xi)x_t = s(x_i)
비교Piji \quad jxi<xjx_i < x_j이면 −1-1, xi=xjx_i = x_j이면 00, xi>xjx_i > x_j이면 11
최댓값Miji \quad jxi>xjx_i > x_j이면 xt=xix_t = x_i, 그렇지 않으면 xt=xjx_t = x_j
곱셈*iji \quad jxi=xi⋅xjx_i = x_i \cdot x_j

매개변수 ii와 jj는 현재 명령 번호 tt보다 작아야 한다. 명령은 순서대로 하나씩 실행된다.

연산은 유한 정밀도를 가진다. 결과는 소수점 아래 90자리까지만 정확하며, 그 이하는 반올림된다. 상수 더하기 명령의 인자 cc는 소수부가 최대 90자리까지일 수 있다.

왼쪽 시프트와 오른쪽 시프트 명령에서 kk는 10000 이하의 음이 아닌 정수여야 한다.

s(x)s(x)는 s(x)=11+e−xs(x) = \frac{1}{1 + e^{-x}}로 정의한다. 여기서 e=2.718281828459045…e = 2.718281828459045\ldots는 자연로그의 밑이다.

P, M, * 연산자를 쓰면 감점된다. 자세한 내용은 아래 채점 항목을 참고하라.

열 개의 과제는 다음과 같다.

  • 과제 1: ∣a∣,∣b∣≤109|a|, |b| \leq 10^9이고 aa, bb의 소수부가 최대 9자리인 a,ba, b가 주어진다. −2a−2b-2a-2b를 구하라.
  • 과제 2: ∣a∣≤109|a| \leq 10^9이고 소수부가 최대 9자리인 aa가 주어진다. 11+e17a\frac{1}{1+e^{17a}}를 구하라.
  • 과제 3: ∣a∣≤109|a| \leq 10^9이고 소수부가 최대 9자리인 aa가 주어진다. a<0a < 0이면 −1-1, a=0a = 0이면 00, a>0a > 0이면 11을 구하라.
  • 과제 4: ∣a∣≤109|a| \leq 10^9이고 소수부가 최대 9자리인 aa가 주어진다. ∣a∣|a|를 구하라.
  • 과제 5: a1,…,a32∈{0,1}a_1, \ldots, a_{32} \in \{0,1\}이 주어진다. a1a2⋯a32a_1 a_2 \cdots a_{32}를 이진수로 보고, a1a_1이 최상위 비트, a32a_{32}가 최하위 비트이다. 이에 해당하는 10진수 값을 구하라.
  • 과제 6: 0≤a<2320 \leq a < 2^{32}인 정수 aa가 주어진다. aa를 2진수로 나타낸 정수 32개를 출력하라. 최상위 비트를 먼저, 최하위 비트를 마지막에 출력한다. 이진 표현이 32자리보다 짧으면 앞에 0을 채운다.
  • 과제 7: 0≤a,b<2320 \leq a, b < 2^{32}인 정수 a,ba, b가 주어진다. aa와 bb의 비트 단위 XOR을 구하라.
  • 과제 8: ∣a∣≤109|a| \leq 10^9이고 소수부가 최대 9자리인 aa가 주어진다. a10\frac{a}{10}을 출력하라.
  • 과제 9: ∣ai∣≤109|a_i| \leq 10^9이고 각 aia_i의 소수부가 최대 9자리인 a1,…,a16a_1, \ldots, a_{16}이 주어진다. a1,…,a16a_1, \ldots, a_{16}을 오름차순으로 정렬한 실수 16개를 출력하라.
  • 과제 10: 0≤a,b<2320 \leq a, b < 2^{32}, 1≤m<2321 \leq m < 2^{32}인 정수 a,b,ma, b, m이 주어진다. a×ba \times b를 mm으로 나눈 나머지(a×b mod ma \times b \bmod m)를 구하라.

출력

명령마다 한 줄씩 출력한다. 각 줄은 연산자 문자로 시작하고, 이어서 정수 매개변수를 출력한다. 연산자와 매개변수, 매개변수 사이는 공백 하나로 구분한다.

최대 10410^4줄까지 출력할 수 있다.

예제1

  1. 예제 1

    입력
    예상 출력
    I
    + 1 1
    - 2
    I
    + 4 4
    - 5
    + 3 6
    - 7
    - 8
    O 9