24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1950  |  回复: 14
本帖产生 2 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

holmescn

金虫 (正式写手)

[交流] Euler 工程第十六题:2的1000次方的各项和已有6人参与

这两天新版开通,版里很热闹,也就没有放题出来。今天放一个题吧。

已知2的15次方等于32768,其各项和为:3+2+7+6+8 = 26 。
那么2的1000次方的各项和是多少呢?
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

huycwork

金虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
微尘、梦想(金币+1): 谢谢交流讨论! 2011-05-27 15:26:19
引用回帖:
Originally posted by sudo at 2011-05-26 21:52:34:
咳,我突然想到一个好玩的东西...

对于一个数的大指数出来的各个位数,0-9的概率分布趋向于均匀分布~

那么我们可以做大致的估算:

2^1000的位数为

向下取整(1000 * log 2) + 1 = 302 位

对于 ...

这么说的话,这个好玩的东西还有另外一个扩展了:散列码,乘法运算的过程中,除了首位和末位之外,中间的所有位都与因数的位数相关,得出的结果中包含了各种离散的因素,得出的值也必定是均匀分散的。期望值应该也非常接近这样的猜测

这题以乘方来优化的话,乘法次数是少了许多,效率却不见提高许多,软件实现的大数类还是不如硬件geilivable啊……

突然想实现一个补码运算的大数类了
漩涡的中心有一块空地,空空的。
4楼2011-05-26 22:29:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 15 个回答

huycwork

金虫 (著名写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
微尘、梦想(金币+2): 谢谢参与! 2011-05-27 15:24:11
来个Perl版:
CODE:
#!/usr/bin/perl
use bigint;
$sum += $_ foreach(2**1000 =~ /(.)/g);
print "result:$sum\n";

结果:1366
漩涡的中心有一块空地,空空的。
2楼2011-05-26 21:38:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖
微尘、梦想(金币+2): 谢谢交流讨论! 2011-05-27 15:24:41
引用回帖:
Originally posted by huycwork at 2011-05-26 21:38:51:
来个Perl版:
CODE:
#!/usr/bin/perl
use bigint;
$sum += $_ foreach(2**1000 =~ /(.)/g);
print "result:$sum\n";

结果:1366

咳,我突然想到一个好玩的东西...

对于一个数的大指数出来的各个位数,0-9的概率分布趋向于均匀分布~

那么我们可以做大致的估算:

2^1000的位数为

向下取整(1000 * log 2) + 1 = 302 位

对于每个位的期望为4.5,然后所有位的和就约等于

302 * 4.5 = 1359

很接近,数学真是奇妙啊,哈哈哈~

嗯,回到正题,这个题考的是两个东西:

1. 大数乘法
2. 整数动态规划,求最少大数乘法次数的步骤

好的C算法在一般PC上应该能把运算时间控制在0.5秒以内,嗯~

PS:土土地思考,从2^31=2147483648开始算的话:
2^31 * 2^31 = 2^62
2^62 * 2^62 = 2^124
2^124 * 2 = 2^125
2^125 * 2^125 = 2^250
2^250 * 2^250 = 2^500
2^500 * 2^500 = 2^1000
只需要6次大数乘法,嗯,不确保这是最优的分法...不过这么算已经挺快了...

[ Last edited by sudo on 2011-5-26 at 22:13 ]
3楼2011-05-26 21:52:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sudo

木虫 (正式写手)


小木虫(金币+0.5):给个红包,谢谢回帖
引用回帖:
Originally posted by huycwork at 2011-05-26 22:29:58:
这么说的话,这个好玩的东西还有另外一个扩展了:散列码,乘法运算的过程中,除了首位和末位之外,中间的所有位都与因数的位数相关,得出的结果中包含了各种离散的因素,得出的值也必定是均匀分散的。期望值应 ...

没听说过什么硬件实现了大数运算诶...
5楼2011-05-26 22:37:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见