위치 기수법
시간 제한1초메모리 제한1024 MB
정수 R을 음수, 소수, 정수의 역수일 수 있는 위치 기수법 B로 나타내는 문제이다.
문제
우리는 수를 십진법으로 쓰는 데 익숙하다. "123"이라고 쓰면 이 표기는 을 뜻한다.
이진법도 자주 쓴다. 의 이진 표기는 "1111011"이고, 을 뜻한다.
위치 기수법의 밑이 꼭 자연수여야 하는 것은 아니다. 을 밑 으로 쓰면 "283"이 되고, 이 표기는 을 뜻한다.
밑이 정수가 아니어도 된다. 을 밑 로 쓰면 "22122.02012122"가 되는데, 소수점 아래가 오른쪽으로 끝없이 이어진다.
밑이 보다 작은 기수법도 있다. 이런 기수법에서 표기는 평소와 좌우가 뒤집힌 모습이 된다. 소수점에서 오른쪽으로 갈수록 자릿값이 커지기 때문이다. 예를 들어 을 밑 로 쓰면 "3.21"이고, 이 표기는 을 뜻한다.
정수 과 밑 가 주어진다. 의 밑 표기를 출력하는 프로그램을 작성하라.
입력
첫째 줄에 정수 이 십진법으로 주어진다 (). 자릿수는 최대 개다.
둘째 줄에 밑 가 십진법으로 주어진다. 는 인 정수이거나, 가 인 정수다.
출력
이면 , 이면 라고 하자. 두 경우 모두 는 정수이고, 표기에 쓰는 숫자는 부터 까지다.
이면 의 밑 표기를 자릿값이 가장 큰 자리부터 자리까지 한 줄에 출력한다. 소수점은 쓰지 않고, 맨 앞에 을 붙이지 않는다.
이면 자리의 숫자를 먼저 쓰고, 소수점을 찍은 뒤 , , 자리의 숫자를 차례로 쓴다. 마지막에 오는 숫자는 이 아니다. 숫자가 하나뿐이면 소수점 없이 그 숫자만 쓴다.
이면 "0"을 출력한다.
이 조건을 만족하는 표기는 하나뿐이고, 반올림 없이 과 정확히 같은 값이다.