Mô tả thử thách
Chúng tôi đã có một vài thử thách liên quan đến chuỗi Nhìn và Nói . Nhắc nhở nhanh:
- Trình tự bắt đầu bằng
1
, - Các thuật ngữ tiếp theo của chuỗi này được tạo ra bằng cách liệt kê từng nhóm chữ số lặp lại trong thuật ngữ trước đó,
Vì vậy, một vài điều khoản đầu tiên là:
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"
Bây giờ chúng ta hãy làm điều tương tự, nhưng sử dụng Chữ số La Mã thay thế. Chúng tôi bắt đầu với I
và làm theo các quy tắc tương tự (chúng tôi áp dụng các quy tắc chữ số đếm để nhân vật thay thế, do chúng ta đọc IVX
như one one, one five, one ten
thay vì one four, one ten
hoặc một số cách khác):
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")
Cho một số nguyên dương N
, hoặc:
- Đầu ra các
N
chữ số đầu tiên của chuỗi này (bất kỳ dấu tách hợp lý nào cũng được, cũng như["I", "II", "III", ...]
N
Thuật ngữ đầu ra của chuỗi này (nó có thể được lập chỉ mục 0).
Hãy nhớ làm cho mã của bạn càng ngắn càng tốt, vì đây là một thử thách chơi mã !
EDIT: Tôi tin rằng luôn có một cách biểu thị số nguyên / tiêu chuẩn ưa thích là số La Mã, (như 95
-> XCV
thay vì VC
). Vài bộ chuyển đổi số La Mã tôi tìm thấy trực tuyến chứng thực quan điểm của tôi. Nếu nghi ngờ, hãy sử dụng một trình chuyển đổi trực tuyến , vì liệt kê tất cả các trường hợp cạnh có thể và quy tắc cụ thể viết chữ số La Mã không phải là điểm của thách thức này.
EDIT2: @PeterTaylor và @GregMartin chỉ ra rằng chỉ số ít hoặc tương đương để 5
xuất hiện trong chuỗi, vì vậy bạn không cần phải lo lắng về sự nhập nhằng của chữ số La Mã (số 1
- 8
là I
, II
, III
, IV
, V
, VI
, VII
, và VIII
)
4
/ IV
/ IIII
? Hoặc 95
/ XCV
/ VC
? Có thể không phải lúc nào cũng có một cách duy nhất để biểu thị một số nguyên, nhưng tôi khá chắc chắn rằng luôn có một cách ưa thích (tiêu chuẩn) - sửa tôi nếu tôi sai.