注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

HT·生活

123

 
 
 

日志

 
 

ex12 Integer to Roman  

2015-05-17 19:55:01|  分类: leetcode |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

Given an integer, convert it to a roman numeral.

Input is guaranteed to be within the range from 1 to 3999.


和ex13 roman to integer差不多,这个还简单一下。见c代码

char* intToRoman(int num) {
int values[13] = { 1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1 };
char *str[13] = { "M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I" };
int i, j;
char* myStr[100];
int number = num;
int index = 0;
for (i = 0; i < 13; i++)
{
while (number>=values[i])
{
myStr[index] = str[i];
index++;

number -= values[i];
}
}
int len = 0;
char*result = (char*)malloc(100*sizeof(char));
int pointer = 0;
for (i = 0; i < index; i++)
{
len = strlen(myStr[i]);
memcpy(result + pointer, myStr[i], len*sizeof(char));
pointer += len;
}

result[pointer] = '\0';
return result;
}


  评论这张
 
阅读(13)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017