입력:
정수
산출:
- 먼저 정수를 동등한 로마 숫자로 변환하십시오.
- 그런 다음 로마 숫자의 각 대문자를 ASCII / UNICODE 10 진수 값으로 변환하십시오.
- 그리고 그 합을 출력하십시오.
예:
1991 -> MCMXCI -> 77+67+77+88+67+73 -> 449
^ input ^ output
로마 숫자 : 로마 숫자 변환기는 다음과 같습니다.
도전 규칙 :
- 표준 로마 숫자 규칙이 적용되므로 및 대신
IIII
또는 .VIIII
IV
IX
- 1,000 개가 넘는 로마 숫자 위에있는 마크로 라인은
¯
(UNICODE nr. 175)입니다. 따라서 한 줄은로 계산+175
되고 두 줄은로 계산 됩니다+350
. - 정수를 나타내는 한 모든 종류의 입력 및 출력 유형을 사용할 수 있습니다.
- 테스트 케이스의 범위는
1 - 2,147,483,647
입니다.
* 로마 숫자 규칙 (Wikipedia에서 인용) :
숫자는 기호를 결합하고 값을 추가하여 형성되므로
II
2 개 (2 개)이고XIII
13 개 (10 개 및 3 개)입니다. 각 숫자는 위치에 따라 10, 100 등의 배수를 나타내는 것이 아니라 고정 된 값을 가지기 때문에 207 또는 1066과 같은 숫자와 같이 0을 "자리 유지"할 필요가 없습니다. 이 숫자는CCVII
(이백, 다섯, 둘, 하나),MLXVI
(천, 오십, 십, 오, 일)로 기록됩니다.기호는 가장 큰 값부터 시작하여 값 순서대로 왼쪽에서 오른쪽으로 배치됩니다. 그러나 몇 가지 특정 경우에 4 개 문자가 연속적으로 반복되는 것을 피하기 위해 (예 :
IIII
또는XXXX
) 빼기 표기법이 종종 다음과 같이 사용됩니다.
I
앞에 배치V
되거나X
1보다 작으므로 4는IV
(5보다 작음) 9는IX
(10보다 작음)X
앞에 배치L
되거나C
10보다 작음을 나타내므로 40은XL
(50보다 작음), 90은XC
(100보다 작음)C
앞에 위치D
또는M
사백은 그래서 덜 백을 나타냅니다CD
(A 백 채 5 백)와 구백이다CM
(a는 백 덜 천보다)
예를 들어,MCMIV
천구백넷 1904입니다 (M
, 천입니다CM
입니다 구백과IV
네).로마 숫자를 현대적으로 사용하는 몇 가지 예는 다음과 같습니다.
1954 asMCMLIV
; 1990 년MCMXC
; 소스로 2014MMXIV
일반 규칙:
- 이것은 code-golf 이므로 바이트 단위의 최단 답변이 이깁니다.
코드 골프 언어가 코드 골프 언어 이외의 언어로 답변을 게시하지 못하게하지 마십시오. '모든'프로그래밍 언어에 대한 가능한 한 짧은 대답을 생각해보십시오. - 표준 규칙이 답변에 적용 되므로 STDIN / STDOUT, 적절한 매개 변수가있는 기능 / 방법, 전체 프로그램을 사용할 수 있습니다. 당신의 전화.
- 기본 허점 은 금지되어 있습니다.
- 가능하면 코드 테스트 링크를 추가하십시오.
- 또한 필요한 경우 설명을 추가하십시오.
테스트 사례 :
100 -> 67
1 -> 73
4 -> 159
22 -> 322
5000 -> 261
2016 -> 401
1000000000 -> 427
1991 -> 449
9999 -> 800
1111111111 -> 2344
2147483647 -> 5362
9999
-> M(X)CMXCIX
-> 77+263+67+77+88+67+73+88
-> 800
및 2147483647
-> ((MMCXLV)MMCDLXXX)MMMDCXLVII
-> 427+427+417+438+426+436 + 252+252+242+243+251+263+263+263 + 77+77+77+68+67+88+76+86+73+73
-> 5362
. 그래서 두 번째를 수정했지만 9999
맞습니다.
2222222222
가 지정된 범위에 있지 않습니다. 또한 동의합니다 5362
.