首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • VB超大数值四则运算算法 [已结帖,结帖人:fastgun]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fastgun
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 结帖率:
    发表于:2008-10-01 13:05:47 楼主
    如题

    另外,计算结果如果要先后顺序排序去重复号码怎么解决?谢谢!
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • SYSSZ
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

    发表于:2008-10-01 21:34:291楼 得分:15
    (1)变量用Currency型,
    (2)运算和普通运算一样;
    (3)排序算法网多的是,找一个来,将所有的结果放进数组里,然后排序
    (4)排序后,做一个循环,每一个数据如果和它前面的或后面相同,删除相同的,只留一个.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fastgun
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-10-02 09:37:502楼 得分:0
    谢谢!

    如果变量用Currency型,那计算结果是不是全部在里面?就不用递归等算法算N位了吧?

    数字字符串排序有快速的方法吗?现在程序一运算就超占CPU,想找优化的方法!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • SYSSZ
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

    发表于:2008-10-02 21:04:053楼 得分:0
    Currency取值范围为-922337203685477.5808~922337203685477.5807可对付你的超大数,计算结果在哪里决定你把计算赋给了哪个变量,排序算法那个快可比较一下,这个慢就换一种.不过如果数又大,数据又多,速度肯定有问题,
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fastgun
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-10-03 20:25:524楼 得分:0
    谢谢您的指点。

    顺便请教一下,两数相乘取N位数怎么解决呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fastgun
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-10-09 08:56:525楼 得分:0
    可能我意思没表达清楚,就是两个很大数相乘得到的结果截取30、50位,一般计算能难得到超大数值结果,而我想要这样的结果。

    两数除法取N位的我已经学会了,乘法的是不是可以按除以10考虑套用两数相除方法,我试用了不理想,因为乘积要反复计算
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • jennyvenus
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

      5

    发表于:2008-10-09 09:01:536楼 得分:5
    网上有VB版的大数计算代码。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • northwolves
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 3

      2

    发表于:2008-10-09 15:42:537楼 得分:0
    两个很大数相乘得到的结果截取30、50位
    -----
    如果取后面的30、50位,取两数的后30、50位相乘即可
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • haxiang_3
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-10-09 18:04:198楼 得分:0
    那已经不是数了  是要用字符串的形式来拆分好像。 那样的东西 是用来加密的吗? 呵呵·· 猜对了没有?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chenjl1031
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 4

    发表于:2008-10-09 19:50:159楼 得分:0
    up
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fastgun
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-10-09 23:13:2110楼 得分:0
    引用 7 楼 northwolves 的回复:
    两个很大数相乘得到的结果截取30、50位
    -----
    如果取后面的30、50位,取两数的后30、50位相乘即可


    乘积的30位与两数的30位乘积能相等吗?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fastgun
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-10-09 23:14:0211楼 得分:0
    引用 8 楼 haxiang_3 的回复:
    那已经不是数了  是要用字符串的形式来拆分好像。 那样的东西 是用来加密的吗? 呵呵·· 猜对了没有?


    哈哈,猜错了
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • myjian
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

    发表于:2008-10-10 05:18:5112楼 得分:0
    路过,帮顶,扫楼.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • fastgun
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-11-08 17:14:1413楼 得分:0
    没人能提供解决方法或代码吗
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved