우리는 기본 변환에 몇 가지 문제가 있었지만 모두 정수 값에 적용되는 것 같습니다. 실수로 해보자!
도전
입력 :
- 밑이 10으로 표현 된 실수 양수 x . 배정 밀도 부동 소수점 또는 문자열로 사용할 수 있습니다. 정밀 문제를 방지하려면 수는 10보다 큰 것으로 가정 할 수있다 -6 미만 10 (15) .
- 타겟 기지국 B . 이것은 2에서 36 사이의 정수입니다.
- 소수점 이하의 수 N . 이것은 1에서 20 사이의 정수입니다.
출력 : 표현 의 X 베이스에 B 와 N 자리수.
출력 식을 계산하면, 이후의 숫자 N 개 번째가되어야 절단 (둥근 생략). 예를 들어, x = 3.141592653589793
base b = 3
is 10.0102110122...
이므로 n = 3
출력은 (반올림)이 10.010
아닌 10.011
( 잘림 )입니다.
들면 X 및 B 소수부 자리에서 한정된 수의 생성은 등가 무한 표현 (잘린 N 자리수)도 허용된다. 예를 들어, 4.5
십진수는로 표현 될 수도 있습니다 4.49999...
.
부동 소수점 오류 에 대해 걱정하지 마십시오 .
입력 및 출력 형식
x 는 선행 0없이 제공됩니다. 경우 x는 정수 될 일이 당신은이 소수점 아래 부분 (함께 제공 될 것이라고 가정 할 수있다 3.0
), 또는 소수 부분이없는 ( 3
).
출력이 유연합니다. 예를 들어 다음과 같습니다.
- 정수와 소수 부분 사이에 적절한 구분 기호 (소수점)가있는 숫자를 나타내는 문자열입니다. 숫자는
11
,12
등 (위해 나 10 이상) 문자로 표현 될 수있다A
,B
평소와 같이, 또는 어떤 다른 별개의 문자로 (구체적으로). - 정수 부분의 문자열과 분수 부분의 다른 문자열
- 에서 숫자를 포함하는 두 배열 / 목록, 각 파트의 하나
0
에35
숫자로.
정수 및 분수 부분 은 구별 될 수 있고 (적절한 구분 기호) 동일한 형식을 사용할 수 있다는 것이 유일한 제한 입니다 (예 : [5, 11]
정수 부분을 ['5', 'B']
나타내는 목록과 분수 부분을 나타내는 목록에 대해서는 아니오 ).
추가 규칙
- 모든 프로그래밍 언어의 프로그램 또는 기능 이 허용 됩니다 . 표준 허점 은 금지되어 있습니다.
- 바이트 단위의 최단 코드가 이깁니다.
테스트 사례
출력 자리수의 문자열로 도시되고 0
, ..., 9
, A
, ..., Z
사용 .
소수 구분한다.
x, b, n -> output(s)
4.5, 10, 5 -> 4.50000 or 4.49999
42, 13, 1 -> 33.0 or 32.C
3.141592653589793, 3, 8 -> 10.01021101
3.141592653589793, 5, 10 -> 3.0323221430
1.234, 16, 12 -> 1.3BE76C8B4395
10.5, 2, 8 -> 1010.10000000 or 1010.01111111
10.5, 3, 8 -> 101.11111111
6.5817645, 20, 10 -> 6.BCE2680000 or 6.BCE267JJJJ
0.367879441171442, 25, 10 -> 0.94N2MGH7G8
12944892982609, 29, 9 -> PPCGROCKS.000000000
42, 13, 1
우리는 할 수 있습니다 33
대신 33.0
?
n
소수점이 있어야한다는 것입니다.