計ニンニク客難題ライブラリ013整数をローマ数字に変換
1456回 32.4%
1000ms
65536K
整数numが与えられ(1<=num<=3999)、整数がローマ数字に変換される.
1,2,3,4,5に対応するローマ数字は,それぞれI,II,III,IV,Vなどである.
書式:
最初の行には整数を入力し、次に対応するローマ数字を出力します.
ヒント:
ローマ数字の常識はこのリンクを見て、問題を作るのに役立ちますよ~特に表現方法.
サンプル1
入力:
出力:
1000ms
65536K
整数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;
}