Roman to integer
来源:互联网 发布:中国农大网络教育首页 编辑:程序博客网 时间:2024/06/05 14:35
#include "stdafx.h"#include<string>#include<iostream>using namespace std;int RomanToInt(string s){int res = 0;//初始化结果int L = s.length();string str[4];//string s4, s3, s2, s1;int i = 0;//千位while (s[i] == 'M'&&i<L){str[3] += s[i++];}//百位while (s[i] != 'X'&&s[i] != 'L'&&s[i] != 'I'&&s[i] != 'V'&&i<L){str[2] += s[i++];}//十位while (s[i] != 'I'&&s[i] != 'V'&&i<L){str[1] += s[i++];}//各位while (i < L){str[0] += s[i++];}string Roman[4][10] ={"", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX","", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC","", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM","", "M", "MM", "MMM"};for (int m = 3; m >=0; m--)//从最高位开始匹配{res *= 10;for (int n = 0; n < 10; n++){if (Roman[m][n] == str[m]){res += n;break;}}}return res;}int main(){string s;cin >> s;cout << RomanToInt(s);return 0;}
将罗马数字转换为整数,这一题和上一题的思路差不多,都是按照各位置将书分割开。
稍微有点绕的就是怎样分割开罗马数字。其实将数字写下来,找找规律就能看出来。各位只能由I and v 构成,十位由X和L构成,百位由C和D构成,千位就只能是M了,因为题目限制在1-3999。
将罗马数字分割开,接下来就是在二维数组中进行匹配了。
0 0
- Integer to Roman & Roman to Integer
- Integer to Roman & Roman to Integer
- LeetCode Roman to Integer && Integer to Roman
- 【leetcode】Roman to Integer | Integer to Roman
- Leetcode - "Roman to Integer" & "Integer to Roman"
- LeetCode:Roman to Integer,Integer to Roman
- Integer to Roman and Roman to Integer
- LeetCode Integer to Roman & Roman to Integer
- Roman to Integer/Integer to Roman
- leetcode - roman to integer & integer to roman
- "Roman to Integer" and "Integer to Roman"
- Roman to Integer &&Integer to Roman
- Roman to Integer and Integer to Roman
- Roman to Integer/Integer to Roman
- LeetCode:Roman to Integer
- LeetCode: Integer to Roman
- LeetCode: Roman to Integer
- LeetCode Integer to Roman
- JDBC操作数据库
- git 使用以及 部分错误 [rejected] master -> master (fetch first)(non-fast forward)
- sql server行列转换
- iphone NSString 字符串处理:截取字符串、匹配字符串、分隔字符串
- Kettle6.0连接MongoDB报错
- Roman to integer
- Linux 安装各种情况记录
- JAVA运算符优先级与ASCII码
- JAVA 创建 ElaticSearch mapping
- 【vijos】 1781 同余方程 exgcd
- Java:一些使用上的注意
- Keras安装
- 编写的全加器与半加器的代码
- 搞定需求变化