도전 설명
Look-and-say 시퀀스와 관련된 몇 가지 문제가있었습니다 . 빠른 알림 :
- 순서는로 시작합니다
1
. - 이 시퀀스의 후속 항은 이전 항에서 각 반복 자릿수 그룹을 열거하여 생성됩니다.
따라서 처음 몇 용어는 다음과 같습니다.
1 "one"
11 "one one" (we look at the previous term)
21 "two ones"
1211 "one two, one one"
111221 "one one, one two, two ones"
312211 "three ones, two twos, one one"
이제 똑같은 일을했지만 대신 로마 숫자를 사용하십시오. 우리는 시작 I
(우리가 읽을 수 있도록 우리가 대신 문자 숫자 카운팅 규칙을 적용하고 동일한 규칙을 따라야 IVX
로 one one, one five, one ten
대신 one four, one ten
또는 다른 방법) :
I "one"
II "one one"
III "two ones" = "II" + "I"
IIII "three ones" = "III" + "I"
IVI "four ones" = "IV" + "I"
IIIVII "one one, one five, one one"
IIIIIVIII "three ones, one five, two ones" = ("III" + "I") + ("I" + "V") + ("II" + "I")
양의 정수 감안할 때 N
중 하나를 :
N
이 시퀀스의 첫 번째 숫자를 출력 하십시오 (합리적인 구분 기호는 물론 괜찮습니다)["I", "II", "III", ...]
N
이 시퀀스의 출력 항 (0- 인덱싱 될 수 있음).
코드 골프 문제 이므로 가능한 한 짧게 코드를 작성하십시오 !
편집 : 정수를 로마 숫자로 표현하는 표준 / 선호 방법이 항상 하나 있다고 생각합니다 (예 : 95
-> XCV
대신 VC
). 온라인에서 찾은 로마 숫자 변환기 몇 개가 제 의견을 확증합니다. 의심스러운 경우 온라인 변환기 를 사용하십시오. 가능한 모든 대소 문자와 로마 숫자를 작성하는 특정 규칙을 나열하는 것은이 과제의 핵심이 아닙니다.
EDIT2 : @PeterTaylor 및 @GregMartin 지적 그 숫자 만 작거나 같음 5
당신이 로마 숫자의 모호함에 대해 걱정할 필요가 없습니다 있도록 순서대로 표시 (숫자 1
- 8
이다 I
, II
, III
, IV
, V
, VI
, VII
,과 VIII
)
4
/ IV
/ IIII
? 또는 95
/ XCV
/ VC
? 정수를 표현하는 독특한 방법이 항상있는 것은 아니지만 항상 선호하는 표준 표준이 있다고 확신합니다. 잘못되면 나를 수정하십시오.