支点 发表于 2014-2-12 20:53:54

tm__xk 发表于 2014-2-12 15:47 static/image/common/back.gif
对足够大的数,这个计算过程是减得很厉害的.对此题数字,减到最小是绰绰有余.只须考虑mod9的余数即可.显然2^1 ...

问一下mod9是怎么算的?

李根 发表于 2014-2-12 21:08:46

jimofc 发表于 2014-2-12 16:17 static/image/common/back.gif
首先对比2^1210的结果,7L的网站和我的计算器结果是一样的,证明我的长整数计算器没问题
然后根据多组数 ...

好强大的计算器!+1!

ursace 发表于 2014-2-12 22:58:35

什么叫数字和的平方?

tm__xk 发表于 2014-2-13 01:01:41

jimofc 发表于 2014-2-12 16:17 static/image/common/back.gif
首先对比2^1210的结果,7L的网站和我的计算器结果是一样的,证明我的长整数计算器没问题
然后根据多组数 ...

先针对你的计算器.
那个网站我绝对信任.不过我没用那个在线的算.我算到的结果大体看上去跟你给的图,包括你的计算器和那个在线网站的图都是一致的.
我的结果是365位.你可以看看网站得到的是不是365位.
但是我复制你的黑体的结果发现只有359位.你也可以自己验证一下.
你的意思是你的计算器是你自己写的吗?在线网站是mathematica,我用的是maple,我选择怀疑你的,不算过分吧?
我看到你的结果少了好几位,但是一眼看不出数字有什么差异,说明你的计算器大体上是对的.我粗略从头看到尾只看到少了几个0,数字和也一样是1708.如果是你自己写的高精,不妨考虑下哪些地方可能出这样的bug.(当然,如果你坚持要用这个计算器,我也没办法.)
我认为不管是正确结果,还是你掉了6个0的结果,数字和都是1708.但是你接下来结果是1595169.这是1263^2不会错吧?1708变成1263就差了比较远了,强烈建议你检查是否哪里可能漏算了一些数..
至于你说的数据debug看不出错误..我不知道你是怎么验证的,不过从上边的结果来看错的还是不少..我认为检验下数据长度你是做得到的吧.或者,把那个网站得到的结果和你自己的结果放在一起,长短不一总看得出来吧?

再说说结果..不针对任何程序,但我认为,作为一个会编程的人,总该知道 一个数的各个数位之和 和 这个数 被3除的余数相同吧.2的幂总不会是3的倍数吧?你觉得2的幂的各个数位之和会是3的倍数?仅凭这一点,虽然不能断定我的结果正确,但起码你的结果是绝对错误的.

你看,你认为你的结果正确的理由是"你看不出你的程序有什么问题",而我认为你的结果错误的理由是数学上的推导,而不是因为你的结果跟我的不同.

tm__xk 发表于 2014-2-13 01:02:51

支点 发表于 2014-2-12 20:53 static/image/common/back.gif
问一下mod9是怎么算的?

就是"除以9的余数"的意思.

tm__xk 发表于 2014-2-13 01:11:43

jimofc 发表于 2014-2-12 16:17 static/image/common/back.gif
首先对比2^1210的结果,7L的网站和我的计算器结果是一样的,证明我的长整数计算器没问题
然后根据多组数 ...

大致数了下,你的图里的也是365位数,那计算器应该就没这个问题了,那刚才就是我误会了,可能把其它的问题算到了这个计算器头上..
反正我看来看去3L的那串都是只有359个数字,要不你帮我数数吧..那串数字你是怎么弄上来的呢..直接把图里的结果复制过来的?别告诉我先截成几段才没掉了几个0..

至于你的数字和差了那么多..你图里也没有..我也不知道问题..

jimofc 发表于 2014-2-13 09:34:51

tm__xk 发表于 2014-2-13 01:11 static/image/common/back.gif
大致数了下,你的图里的也是365位数,那计算器应该就没这个问题了,那刚才就是我误会了,可能把其它的问题算到 ...

:victory:发现问题了。。。

第一次用的结果好像是用了以前旧版本的程序,后面那个验算才是正确的结果,用的是最后修改过的版本
这个不导致数字和错误
目测计算结果的时候感觉木有超过255位,所以直接进行赋值和计算了,这样少算了101位的数字和

重新计算结果果然是169
2917264
961
256
169

支点 发表于 2014-2-13 10:35:00

tm__xk 发表于 2014-2-13 01:02 static/image/common/back.gif
就是"除以9的余数"的意思.

我知道是这个意思~~
就是怎么算出来的呢?
比如2^1210=7(mod9)是为什么?

qiaoyisi 发表于 2014-2-14 00:02:47

A=17631722963339008632900994760757898735185842939339458479854834499994358467831547514263024166129711281445243821088728665895510965545796260889591408519914206560931331554975734662025912214036536446880222273965113882860897981714678342870929995536422877782768828186357180394203728473889486213936374551017111423545330393852181875601640976594246568382375435408421131649024
A1=2917264
A2=961
A3=256
A4=169
A5=256
A6=169

只是前面几个有点变化,后面都是不断循环的。

tm__xk 发表于 2014-2-14 00:15:00

支点 发表于 2014-2-13 10:35 static/image/common/back.gif
我知道是这个意思~~
就是怎么算出来的呢?
比如2^1210=7(mod9)是为什么?

通俗地讲..1,2,4,8,16,32,...被9除的余数本来就是周期的..
严谨地讲..2^(6k+4)=64^k*2^4=7(mod 9)
页: 1 [2] 3
查看完整版本: 数字问题一题