罗马数字转阿拉伯数字

article/2025/10/17 10:13:06

一、学习要点:
1.运用递归的思想,找出罗马字符串中最大的元素,对左边的处理是减去,对右边的处理是加上;递归头是字符串只剩下一个元素时,或者右边的下标小于左边的下标;
二、代码:

#include<stdlib.h>
#include<stdio.h>
int single_r2i(char ch)
{char s1[7] = { 'I','V','X','L','C','D','M' };int  s2[7]= { 1,5,10,50,100,500,1000 };for (int i = 0; i < 7; i++){if (s1[i] == ch) {return s2[i];}}
}
int find_maxindex(char* s, int l, int r) {int max = single_r2i(s[l]);int max_index=l;for (int i = l+1; i <= r; i++){if (single_r2i(s[i]) > max){max = single_r2i(s[i]);max_index = i;}}return max_index;
}
int r2i(char* s, int l, int r) {int max_index=0;if (l == r) {return single_r2i(s[l]);}if (l > r){return 0;}else {max_index = find_maxindex(s, l, r);return single_r2i(s[max_index]) + r2i(s, max_index + 1, r) - r2i(s, l, max_index - 1);}
}
int main()
{char s[7] = { 'M','C','M','X','C','I','X' };int result = r2i(s, 0, 6);printf("%d\n", result);system("pause");return 0;
}

三、程序运行结果:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/ABtQF3ua.shtml

相关文章

Latex输出大小写罗马数字

文章目录 1 大写罗马数字2 小写罗马数字3 示例 1 大写罗马数字 相应的数字 1 1 1表示 \uppercase\expandafter{\romannumeral1} 2 小写罗马数字 \romannumeral1 3 示例 \begin{table}[!htb]\caption{Test.}\renewcommand\tabcolsep{0.005cm}\centering\setlength{\abovecaptio…

LaTex使用技巧19:罗马数字输入(大写和小写)

在写论文的时候要用到罗马数字&#xff0c;参考下面的博客发现罗马数字都是斜体的 Latex罗马数字&#xff08;一&#xff09; 使用的是文章的第一种方法&#xff1a; \uppercase\expandafter{\romannumeral2} 后面可以输入不同的数字&#xff0c;例如输入2&#xff0c;得到大…

latex 罗马数字

需求&#xff1a;latex中加入罗马数字。 导言区加包 \usepackage{amssymb} \makeatletter \newcommand{\rmnum}[1]{\romannumeral #1} \newcommand{\Rmnum}[1]{\expandafter\slowromancap\romannumeral #1} \makeatother其中&#xff0c;引用时Rmnum{ }表示大写, /rmnum{ }表…

计算机页码格式罗马数字,word 页码 罗马数字怎么从1开始

word 页码 罗马数字怎么从1开始以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! word 页码 罗马数字怎么从1开始 第一步:在前几页结束的地方点“插入”——>“分隔符” 作用是区别前几页和正文的内容; 第二步…

linux罗马数字1到10怎么打,罗马数字怎么打

你还不知道罗马数字怎么打&#xff0c;怎么输入?还拿着阿拉伯数字用软件罗马数字转换?即使转换过来了&#xff0c;也不知道罗马数字怎么读。下面小编告诉大家罗马数字1到10怎么打&#xff0c;包括罗马数字大写怎么写。 罗马数字1到10 Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ、Ⅵ、Ⅶ、Ⅷ、Ⅸ、Ⅹ…

linux罗马数字1到10怎么打,罗马数字1到10怎么打

罗马数字是欧州在阿拉伯数传到以前应用的一种数码科技&#xff0c;现在运用较少。它的造成晚于我国甲骨文字中的数码科技&#xff0c;晚些于古埃及人的十进位数据。可是&#xff0c;它的造成意味着一种古文明的生长。然则现在很多人都不容易用输入法打出罗马数字。 WIN8内置的中…

CacheCloud的入门运用与实战

一&#xff0c;cachecloud是一款提供redis云管理的平台&#xff0c;现在有很多公司运用它进行集群的管理&#xff0c;它实现&#xff08;redis单机部署&#xff0c;redis sentinel&#xff0c;redis cluster&#xff09;的自动部署&#xff0c;大大降低了运维的难度&#xff0c…

CacheCloud管理平台

一、CacheCloud是做什么的 CacheCloud提供一个Redis云管理平台&#xff1a;实现多种类型(Redis Standalone、Redis Sentinel、Redis Cluster)自动部署、解决Redis实例碎片化现象、提供完善统计、监控、运维功能、减少运维成本和误操作&#xff0c;提高机器的利用率&#xff0c;…

数据中台到底如何落地实现【含架构图及代码】

数据中台已经被很多公司应用&#xff0c;数据中台资料也不少&#xff0c;可是作为程序员更关心的是该如何代码实现。下面是中台相关代码实现及说明。 数据中台说明&#xff1a; Todo: CDH, hbase,zk 部署和配置。代码发布。presto , redis集群&#xff0c;cachecloud 部署。Hiv…

cachecloud部署详细过程

一、jdk安装 卸载openjdk 配置环境变量并测试是否配置成功 vim /etc/profile export JAVA_HOME/usr/java/jdk1.7.0_75 export JAVA_BIN/usr/java/jdk1.7.0_75/bin export PATH$PATH:$JAVA_HOME/bin export CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar source /…

缓存(Cache)

接上篇案例...........接上篇案例...........接上篇案例........... 简述 内存中的一块存储空间&#xff0c;服务于某个应用程序&#xff0c;旨在将频繁读取的数据临时保存在内存中&#xff0c;便于二次快速访问。 简单来说&#xff0c;当没有缓存时&#xff0c;用户想要多次访…

【工具】---cachecloud使用

【前言】 最近小编所在的项目中用到了redis的集群,用到了redis那肯定要有redis的管理工具,所以小编正在学习一个检测redis的工具. 【正文】 是什么?? CacheCloud提供一个Redis云管理平台&#xff1a;实现多种类型(Redis Standalone、Redis Sentinel、Redis Cluster)自动部署…

Cache Tiering

参考资料&#xff1a; 《Ceph源码分析》 https://my.oschina.net/u/2460844/blog/788172 Cache Tier 一、简介 Cache Tiering是Ceph中一种自动分层存储的技术&#xff0c;其中有两种存储池&#xff1a;高速池&#xff08;缓存池&#xff0c;由SSD等高速设备组成&#xff09;作…

cache介绍

原帖地址&#xff1a; http://www.wowotech.net/memory_management/458.html?fromtimeline 今天探究的主题是cache。我们围绕几个问题展开。为什么需要cache&#xff1f;如何判断一个数据在cache中是否命中&#xff1f;cache的种类有哪些&#xff0c;区别是什么&#xff1f; …

cachecloud:安装部署(一)

下载源码 可以本地调试、打包。 源码下载&#xff1a;https://github.com/sohutv/cachecloud.git 创建数据库 cachecloud持久化基于mysql&#xff0c;缓存使用redis。 新建一个数据库&#xff0c;如cachecloud分别使用cachecloud/cachecloud-web/sql/2.0.sql和update2.0-2…

Cache简介

1. Cache Cache一词来源于法语&#xff0c;其原意是“藏匿处&#xff0c;隐秘的地方”&#xff0c;而自从被应用于计算机科学之后&#xff0c;就已经成为了英语中的一个计算机体系结构专有名词。 Sun Microsystems的前首席科学家Billy Joy&#xff0c;作为BSD …

Redis入门完整教程:CacheCloud是什么?

如果让你去运维大规模的Redis节点&#xff0c;例如数千个 Redis节点、数百台机器、数百个业务支撑&#xff0c;会遇到什么问题吗&#xff1f;很明显就 是缺少一个好的可视化运维平台。本节首先分析如果没有好的运维平台可能 存在的问题&#xff0c;接着介绍Redis开源私有云平台…

CacheCloud详解(一)----------CacheCloud搭建(Redis云平台)

目标&#xff1a; redis作为流行的缓存数据库&#xff0c;被众多企业使用&#xff0c;但是对于中小型企业来说&#xff0c;日益增多的redis服务器&#xff0c;如何管理是个问题。本系列文章就搜狐视频开源的CacheCloud云平台进行深入讲解。通过从安装到源码讲解&#xff0c;让…

分享kubernetes部署:cachecloud部署说明

cachecloud部署 cachecloud是搜狐视频(sohutv)Redis私有云平台 已省略~ 挑选一台服务器部署cachecloud-web 将cachecloud-web打成war包&#xff0c;可以在服务器上打包&#xff0c;也可以在本地打包&#xff0c;这里举一个在服务器上打包的例子。 将源代码下载到/opt下 已省略~…