চ্যালেঞ্জের বিবরণ
আমাদের চেহারা এবং বলার ক্রম জড়িত কয়েকটি চ্যালেঞ্জ ছিল । দ্রুত অনুস্মারক:
- ক্রমটি শুরু হয়
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
এই অনুক্রমের আউটপুট th মেয়াদ (এটি 0-সূচকযুক্ত হতে পারে)।
আপনার কোডটি যতটা সম্ভব সংক্ষিপ্ত করে রাখার কথা মনে রাখবেন, যেহেতু এটি একটি কোড-গল্ফ চ্যালেঞ্জ!
সম্পাদনা: আমি বিশ্বাস করি যে রোমান সংখ্যার হিসাবে পূর্ণসংখ্যার প্রকাশের জন্য একটি মান / পছন্দসই উপায়, (যেমন 95
-> XCV
পরিবর্তে VC
)। কয়েকজন রোমান সংখ্যা রূপান্তরকারী আমি অনলাইনে আমার মতামতকে সমর্থন করে দেখতে পেয়েছি। যদি সন্দেহ হয় তবে একটি অনলাইন রূপান্তরকারী ব্যবহার করুন , কারণ সমস্ত সম্ভাব্য প্রান্ত-কেস এবং রোমান সংখ্যা লেখার নির্দিষ্ট বিধিগুলি তালিকাভুক্ত করা এই চ্যালেঞ্জের বিষয় নয়।
EDIT2: @PeterTaylor এবং @GregMartin উল্লেখ করেছে যে শুধুমাত্র সংখ্যা কম বা সমান 5
, ক্রম মধ্যে প্রদর্শিত যাতে আপনি রোমান সংখ্যাসমূহ এর অস্পষ্টতা সম্পর্কে চিন্তা করতে হবে না (নম্বর 1
- 8
হয় I
, II
, III
, IV
, V
, VI
, VII
, এবং VIII
)
4
/ IV
/ IIII
? বা 95
/ XCV
/ VC
? কোনও পূর্ণসংখ্যার প্রকাশের জন্য সর্বদা অনন্য উপায় নাও থাকতে পারে তবে আমি নিশ্চিত যে সর্বদা একটি পছন্দকৃত (মানক) আছে - আমি ভুল হলে আমাকে সংশোধন করুন।