博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2.2.1 PREFACE NUMBERING 序言页码
阅读量:4624 次
发布时间:2019-06-09

本文共 719 字,大约阅读时间需要 2 分钟。

题目大意:(如题)
输入输出:(如题)
解题思路:
1.用打表法将每一个数N(1<=N<3500)中间“I”“V”“X”“L”“C”“D”“M”的个数统计出来,用一个二维数组cnt[3500][7]保存起来。
2.枚举。

从千位開始枚举。一直枚举到个位为止,每次推断减掉那个数之后剩下的数是否还不小于0。

假设不小于则继续。反之结束。

3.减小代码的方法。

(1) 10进制数到罗马数字的转换表:

string rec[4][9]={"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"};

(2) 字符到数组下标的转换表:

char res[7]={'I','V','X','L','C','D','M'};

核心代码:

for(mrk=1;mrk<3500;mrk++) {  dat=mrk;  for(i=3;i>=0;i--)  {   for(j=9;j>=1;j--)   {    tmp=pow((double)10,(double)i)*j;    while(dat-tmp>=0)    {     dat-=tmp;     for(k=0;k

环境恶劣……给力……

转载于:https://www.cnblogs.com/jzdwajue/p/6874410.html

你可能感兴趣的文章
IIS Appcmd Tool
查看>>
2.RxJava详解网址http
查看>>
async函数基础
查看>>
计算机硬件知识整理
查看>>
for循环
查看>>
Auth组件,Forms组件
查看>>
基于MapGIS k9的路径分析设计与实现
查看>>
当期页面导出按钮失灵问题
查看>>
Spark学习(三) -- SparkContext初始化
查看>>
mysql zip 版安装
查看>>
python之datetime类
查看>>
Mouse Properties(鼠标属性)
查看>>
IOS ——OC—— NSNull的用法简单总结
查看>>
林子祥
查看>>
Fast-RCNN
查看>>
Linux教程:如何在CentOS或者RHEL上启用Nux Dextop仓库
查看>>
Mac SVN 命令行
查看>>
CentOS6.4 中文输入法
查看>>
bzoj2002 [Hnoi2010]Bounce 弹飞绵羊
查看>>
makefile高级用法
查看>>