Board logo

标题: [数值计算] 批处理怎样计算123456789乘以987654321的积? [打印本页]

作者: Demon    时间: 2011-6-1 22:09     标题: 批处理怎样计算123456789乘以987654321的积?

儿童节,看看小学乘法过不过关。

123456789 * 987654321 = ?
作者: batman    时间: 2011-6-1 22:17

本帖最后由 batman 于 2011-6-1 22:21 编辑

第一感觉:楼主是来找cmd的碴的。。。
http://www.bathome.net/viewthrea ... =%BC%C6%CB%E3%C6%F7
作者: 523066680    时间: 2011-6-1 22:17

有人做过……
我只记得 12345679*9 =11111111
作者: Demon    时间: 2011-6-1 22:22

第一感觉:楼主是来找cmd的碴的。。。
batman 发表于 2011-6-1 22:17

怎么能这么说呢?就算用其他脚本(Python除外),这么大的数直接计算也会溢出。
作者: Batcher    时间: 2011-6-1 23:20

4# Demon


也就是Python支持超大数,还被你给除啦。
作者: mxxcgzxxx    时间: 2011-6-2 13:25

本帖最后由 mxxcgzxxx 于 2011-6-2 13:32 编辑

123456789*987654321
=(123,456,789)*(987,654,321)
=(123,456,789)*987,(123,456,789)*654,(123,456,789)*321
利用乘法分配率来分隔,我使用的是三位分隔举例(可以更多位以加快计算),计算后分出前三位后三位进行进位加法计算
123*987=121,401
456*987=450,072
789*987=778,743
123456789*987=121,(401+450),(072+778),743
123456789*654=80,740,740,006
123456789*987654=121,(851+080),(850+740),(743+740),006
以此类推计算出来,结果好像要很多步的样子呵
不知有没有更好的想法。
作者: abcdshenji    时间: 2011-6-3 20:26

这种东西楼主可以借鉴心算那种取巧的方法。。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2