懒得写了,抄+改。
https://blog.csdn.net/liveas/article/details/5662061
/*
ID :
LANG: C++11
TASK: preface
*/
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;
const char ch[8]={'4','I','V','X','L','C','D','M'};
const int a[4][10]={
0,0,0,0,0,0,0,0,0,0,
0,1,2,3,1,0,1,2,3,1,
0,0,0,0,1,1,1,1,1,0,
0,0,0,0,0,0,0,0,0,1};
int ans[13];
int n,i,j,t;
int main(){
freopen("preface.in","r",stdin);
freopen("preface.out","w",stdout);
scanf("%d",&n);
for (int k=1;k<=n;++k){
t=k;
int i = 0;
while(t){
for (j=1;j<=3;++j)
ans[i*2+j]+=a[j][t%10];
t=t/10;
i++;
}
}
for (i=1;i<=7;++i)
if (ans[i]!=0) printf("%c %d\n",ch[i],ans[i]);
return 0;
}