একটি রোমান অঙ্ক হিসাবে অক্ষরের ক্রম ব্যাখ্যা করতে একটি অ্যালগরিদম লিখুন। (নীচে রোমান সংখ্যার নিয়ম দেখুন)
প্রতিটি স্বতন্ত্র বর্ণের একটি আরবি দশমিক মান মেলানো থাকে, সর্বোচ্চ নয়। তবে আপনার কী আগে থেকে নেই, তাই {A=10, I=1, X=5, ... Z=1000000}আপনার ব্যাখ্যা দ্বারা সিদ্ধান্ত নেওয়া হয়েছে।
চ্যালেঞ্জ
- মাধ্যমে
STDINবা সমতুল্য মাধ্যমে ইনপুট পড়ুন এবং আউটপুট লিখুনSTDOUTবা সমতুল্য - বৈধ ইনপুট হ'ল বড় হাতের অক্ষর এবং ছোট হাতের অক্ষর অর্থাৎ মিল
\[a-zA-Z]+\ - বর্ণের ক্রমটি বৈধ রোমান অঙ্ক হিসাবে ব্যাখ্যা করা যায় কিনা তা দেখার জন্য ইনপুটটি বৈধ করা উচিত
- যদি ইনপুট বৈধতা পাস করে তবে বৈধ আউটপুটটি সর্বনিম্ন আরবি দশমিক ব্যাখ্যা হওয়া উচিত এবং ব্যবহৃত কীটি অর্থাত্
Aaব্যাখ্যা করা হয়4 {a=5, A=1}না6 {A=5, a=1}বা9 {a=10, a=1}
রোমান সংখ্যা বিধি
দশজনের ক্ষমতার প্রতিনিধিত্বকারী কেবলমাত্র অক্ষরগুলি পুনরাবৃত্তি করা যেতে পারে, সর্বোচ্চ তিন বার ধারাবাহিকভাবে এবং মোট উদাহরণে চার বার করা যেতে পারে
IIIIIXXXIXএক বা একাধিক অক্ষর যদি বৃহত্তর মানের অন্য একটি বর্ণের পরে স্থাপন করা হয় তবে সেই পরিমাণটি যুক্ত করুন
AAaa => 22 {A=10, a=1} (20 + 2 = 22) bbAAaa => 222 {b=100, A=10, a=1} (200 + 20 + 2 = 222)যদি কোনও চিঠি বৃহত্তর মানের অন্য একটি বর্ণের আগে স্থাপন করা হয়, তবে সেই পরিমাণটি বিয়োগ করুন
Aa => 4 {a=5, A=1} (5 – 1 = 4) AaA => 19 {A=10, a=1} (10 + 10 – 1 = 19) BbBaA => 194 {B=100, b=10, A=5, a=1} (100 + 100 - 10 + 5 - 1 = 194)রোমান সংখ্যাগুলি থেকে পরিমাণ বিয়োগের জন্য বেশ কয়েকটি বিধি প্রযোজ্য:
- দশ অর্থাত মাত্র বিয়োগ ক্ষমতা
1, 10, 100...না5, 50, 500... - কোনও ডাবল বিয়োগ বিহীন
18হিসাবে লেখা হয়XVIIIনাIIXX (10 + 10 - 1 - 1) - দশ গুনের বেশি যে কোনওটি থেকে কোনও সংখ্যা বিয়োগ করবেন না।
আপনি বিয়োগ করতে1থেকে5বা10কিন্তু না থেকে50, 100, 500...
- দশ অর্থাত মাত্র বিয়োগ ক্ষমতা
উদাহরণ
Input:
Aa
BAa
CCCXLVII
MMMCDVII
ABADDF
XVVX
FAASGSH
DXCCDA
AaBbcDEf
Output:
4 {a=5, A=1}
14 {B=10, a=5, A=1}
347 {C=100, L=50, X=10, V=5, I=1}
347 {M=100, D=50, C=10, V=5, I=1}
1921 {A=1000, B=100, D=10, F=1}
'XVVX' failed Roman numeral test
7191 {F=5000, A=1000, S=100, G=10, H=1}
'DXCCDA' failed Roman numeral test
4444 {a=5000, A=1000, b=500, B=100, D=50, c=10, f=5, E=1}
Aa1 একটি মান (একটি = 1, একটি = 2) আছে।