계산: 과제 8
시간 제한1초메모리 제한1024 MB
절댓값이 10의 9제곱 이하이고 소수점 아래 자릿수가 9자리 이하인 실수 a를 입력받아, 허용된 명령어만으로 a를 10으로 나눈 값을 구합니다.
문제
주어진 과제를 아래 명령어로 해결하는 프로그램을 작성하라. 는 번째 명령의 결과를 뜻한다. 사용할 수 있는 명령, 문법, 결과 는 다음 표와 같다.
매개변수 와 는 현재 명령 번호 보다 작아야 한다. 명령은 순서대로 하나씩 실행된다.
연산은 유한 정밀도를 가진다. 결과는 소수점 아래 90자리까지만 정확하며, 그 이하는 반올림된다. 상수 더하기 명령의 인자 는 소수부가 최대 90자리까지일 수 있다.
왼쪽 시프트와 오른쪽 시프트 명령에서 는 10000 이하의 음이 아닌 정수여야 한다.
는 로 정의한다. 여기서 는 자연로그의 밑이다.
P, M, * 연산자를 쓰면 감점된다. 자세한 내용은 아래 채점 항목을 참고하라.
열 개의 과제는 다음과 같다.
- 과제 1: 이고 , 의 소수부가 최대 9자리인 가 주어진다. 를 구하라.
- 과제 2: 이고 소수부가 최대 9자리인 가 주어진다. 를 구하라.
- 과제 3: 이고 소수부가 최대 9자리인 가 주어진다. 이면 , 이면 , 이면 을 구하라.
- 과제 4: 이고 소수부가 최대 9자리인 가 주어진다. 를 구하라.
- 과제 5: 이 주어진다. 를 이진수로 보고, 이 최상위 비트, 가 최하위 비트이다. 이에 해당하는 10진수 값을 구하라.
- 과제 6: 인 정수 가 주어진다. 를 2진수로 나타낸 정수 32개를 출력하라. 최상위 비트를 먼저, 최하위 비트를 마지막에 출력한다. 이진 표현이 32자리보다 짧으면 앞에 0을 채운다.
- 과제 7: 인 정수 가 주어진다. 와 의 비트 단위 XOR을 구하라.
- 과제 8: 이고 소수부가 최대 9자리인 가 주어진다. 을 출력하라.
- 과제 9: 이고 각 의 소수부가 최대 9자리인 이 주어진다. 을 오름차순으로 정렬한 실수 16개를 출력하라.
- 과제 10: , 인 정수 이 주어진다. 를 으로 나눈 나머지()를 구하라.
출력
명령마다 한 줄씩 출력한다. 각 줄은 연산자 문자로 시작하고, 이어서 정수 매개변수를 출력한다. 연산자와 매개변수, 매개변수 사이는 공백 하나로 구분한다.
최대 줄까지 출력할 수 있다.