捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
罗马数字转换成阿拉伯数字
关键字:LuoMatoALB 罗马 转换 阿拉伯 数字
来 自:原创
平 台:Win9x,Win2k/XP/NT,Win2003 下载所需:0 火柴
深浅度:初级 完成时间:2006/4/25
发布者:goodmancyg 发布时间:2006/4/25
编辑器:DELPHI7 语  种:简体中文
分 类:科学 下载浏览:414/10350
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
图片如果打不开,说明流量不够了,请稍候下载……
本人去一家公司应聘,人家笔试完了,就上机考试啊,考题是把罗马数字转换成阿拉伯数字,算法给了,让我在半个小时内写出程序啊。
本人愚昧啊,当时我连它这个算法我都没有理解,咋能弄出来啊,技不如人无话可说?拍屁股走人,回来仔细想了想,弄出来了,贴上来 ,大家有兴趣的看看啊!
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
没有相关文章
相关评论
共有评论6条 当前显示最后6条评论
helpme5 2006/4/25 21:09:48
代码存在一个问题,就是没有验证输入的罗马数字是否合法。

如果忽略这个验证,程序可以更简单些:(其中的ValidateRoman函数即为验证)

//罗马数字转阿拉伯数字
function RomanToArabic(const Roman: string): LongInt;
const
  Arabics: array[1..13] of Integer = (1000, 900, 500, 400, 100, 90, 50, 40, 10,
    9, 5, 4, 1);
  Romans: array[1..13] of string = ('M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL',
    'X', 'IX', 'V', 'IV', 'I');
var
  i: Integer;
  Ro: string;
  Longitud: Integer;
  sRoman: string;
begin
  Result := 0;
  sRoman := UpperCase(Roman);
  if ValidateRoman(sRoman) then
  begin
    for i := 1 to 13 do
    begin
      Longitud := Length(Romans[i]);
      Ro := Copy(sRoman, 1, Longitud);
      while ((Length(sRoman) > 0) and (Ro = Romans[i])) do
      begin
        sRoman := Copy(sRoman, 1 + Longitud, Length(Roman) - 1);
        Result := Result + Arabics[i];
        Ro := Copy(sRoman, 1, Longitud);
      end;
    end;
  end;
end;
fengjiwei 2006/4/25 21:45:37
测试:mxdv这个数字,楼主的得1515,helpme5的得1010,究竟哪个正确?
fengjiwei 2006/4/25 21:53:24
我刚手算了一下,正确答案是不是应该是1495呢,
计算过程
1000+(-10+500)+5
kinneng 2006/4/26 2:37:57
我找不到下载这个东西的理由,因为它是在没有什么用,除非我在意大利买菜,不过打开了网页,不下载又好像浪费了时间,于是就下载了。
goodmancyg 2006/5/4 21:22:57
这个代码是我匆匆忙忙写上去的,有可能存在问题!望大家指正,待我那天有空在把它完善起来!多谢大家的关注
lszx1991abner 2008/10/24 21:11:22
错的
iv=4
vi=6
程序中iv=vi=6
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 1999-2023 V4.01 粤ICP备10103342号-1 更新RSS列表