计蒜客 难题题库 013 整数转换成罗马数字

来源:互联网 发布:弹幕播放器源码 编辑:程序博客网 时间:2024/05/23 15:38

给定一个整数num,( 1<=num<=3999),将整数转换成罗马数字。

如1,2,3,4,5对应的罗马数字分别位I,II,III,IV,V等。

格式:

   第一行输入一个整数,接下来输出对应的罗马数字。

提示:

   罗马数字的常识见此链接,对做题有帮助哦~尤其是表示方法。

http://baike.baidu.com/link?url=injU8M4bAoc2zRZQ1GtgrfvuzCJO9PLnq6fpQGJLenakbzo-rS8p-qsYHR_81-aN


样例1

输入:

123

输出:

CXXIII


#include<iostream>#include<string>using namespace std;int main(){    int num[] = {   1,    4,   5,    9,  10,   40,  50,   90, 100,  400, 500,  900,1000};    string s[] = {"I", "IV", "V", "IX", "X", "XL", "L", "XC", "C", "CD", "D", "CM", "M"};    int n;    cin >> n;    string res;    for(int i = 12; i >= 0; --i){        while(n >= num[i]){            n -= num[i];            res += s[i];        }    }    cout << res << endl;}


0 0
原创粉丝点击