সমস্যা বিবরণ
একটি রোমান সংখ্যালিপি দেওয়া আছে (১ থেকে ৩৯৯৯ পর্যন্ত)। এটি দশমিক সংখ্যায় কনভার্ট করতে হবে।
C++ কোড উদাহরণ
#include<bits/stdc++.h>
using namespace std;
int value(char r) {
if (r == 'I') return 1;
if (r == 'V') return 5;
if (r == 'X') return 10;
if (r == 'L') return 50;
if (r == 'C') return 100;
if (r == 'D') return 500;
if (r == 'M') return 1000;
return -1;
}
int convert_decimal(string &str) {
int res = 0;
for (int i = 0; i < str.length(); i++) {
int s1 = value(str[i]);
if (i+1 < str.length()) {
int s2 = value(str[i+1]);
if (s1 >= s2) res += s1;
else { res += s2 - s1; i++; }
} else res += s1;
}
return res;
}
int main() {
string str = "MCMIV";
cout << "Integer form:" << convert_decimal(str) << endl;
return 0;
}
আউটপুট
Integer form:1904