1 条题解
-
0
C++ :
#include<stdio.h> #include<string.h> #include<iostream> using namespace std; int aa[7]={0}; char* a[4][10]; char b[7]={'I','V','X','L','C','D','M'}; void doo(int as) { int an=0; int n=0; while(as!=0) { if (as%10!=0) { for (int i=0;i<strlen(a[n][as%10]);i++) switch (a[n][as%10][i]) { case 'I':{aa[0]++;break;} case 'V':{aa[1]++;break;} case 'X':{aa[2]++;break;} case 'L':{aa[3]++;break;} case 'C':{aa[4]++;break;} case 'D':{aa[5]++;break;} case 'M':{aa[6]++;break;} } } as=as/10; n++; } } int main() { //freopen("F:\\TestFiles\\test1.in","r",stdin); //freopen("F:\\TestFiles\\test3.out","w",stdout); a[0][1]="I";a[0][2]="II";a[0][3]="III";a[0][4]="IV";a[0][5]="V";a[0][6]="VI";a[0][7]="VII";a[0][8]="VIII";a[0][9]="IX"; a[1][1]="X";a[1][2]="XX";a[1][3]="XXX";a[1][4]="XL";a[1][5]="L";a[1][6]="LX";a[1][7]="LXX";a[1][8]="LXXX";a[1][9]="XC"; a[2][1]="C";a[2][2]="CC";a[2][3]="CCC";a[2][4]="CD";a[2][5]="D";a[2][6]="DC";a[2][7]="DCC";a[2][8]="DCCC";a[2][9]="CM"; a[3][1]="M";a[3][2]="MM";a[3][3]="MMM"; int n; while(scanf("%d",&n)!=EOF) { memset(aa,0,sizeof(aa)); for (int i=1;i<=n;i++) doo(i); for (int i=0;i<7;i++) if (aa[i]) printf("%c %d\n",b[i],aa[i]); } return 0; }
- 1
信息
- ID
- 2840
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者