Посчитать сумму двух натуральных чисел, записанных в римской системе счисления - C#
Формулировка задачи:
Посчитать сумму двух натуральных чисел А и В, записанных в римской системе счисления. Ответ также записать в римской системе счисления.
М = 1000, D = 500, С = 100, L = 50, X = 10, V = 5, I =1 (Все числа – не превышают 2000).Например:Дано VII+II,на экран должно выйти IX. У самой нету ни каких идей. Помогите.
Решение задачи: «Посчитать сумму двух натуральных чисел, записанных в римской системе счисления»
textual
Листинг программы
#include<iostream> using namespace std; int main (){ char lat[100]; int count = 0 ; cin.getline(lat,100); for (int i = 0; i < strlen(lat);i++){ switch(lat[i]){ case 'M': count += 1000; break; case 'D': count += 500; break; case 'C': if ( i+1 < strlen(lat) && (lat[i + 1] == 'D' || lat[i + 1] == 'M' ) ) count -= 100; else count += 100; break; case 'L': count += 50; break; case 'X': if (i+1 < strlen(lat) && (lat[i + 1] == 'L' || lat[i + 1] == 'C' || lat[i + 1] == 'M') ) count -= 10; else count += 10; break; case 'V': count += 5; break; case 'I': if (i+1 < strlen(lat) && (lat[i + 1] == 'V' || lat[i + 1] == 'X' || lat[i + 1] == 'C')) count -= 1; else count +=1; break; } } cout << count << endl; system("pause"); return EXIT_SUCCESS; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д