安装 Math::BigInt::Pari 或者 Math::BigInt::GMP 模块,然后指定 bignum 加载两者之一. 如:
use bignum lib => 'Pari';
我在命令行上试验:
perl -Mbignum=l,Pari -le 'print 2**1000000'
不到十秒出结果,当然结果对不对,你还得验证一下哈
2012/3/16 kevin_li <[email protected]>
> 这几天发现google 还有个code jam这么个东西, 里面有历年的比赛题目, 就没事儿做做玩儿玩儿, 我都是用perl 做。
> 做了几个不是很难,直到碰到了这个
> http://code.google.com/codejam/contest/32016/dashboard#s=p2
> 里面的large 涉及到 大数 计算。
> 我用的use bignum; 计算大数。
> 以前从来没碰到过用 大数 ,刚才试了一下,我的机器 算个 2**1000000, 就要4分钟。。。。
>
> 问题是:这个题目用perl 怎么完成?是有更好的计算大数的方式? 还是这个题目就不能用 “算次幂”的方式来解决?
>
>
> --
> 您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
> 要向此网上论坛发帖,请发送电子邮件至 [email protected]。
> 要取消订阅此网上论坛,请发送电子邮件至 [email protected]。
> 若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。
>
--
您收到此邮件是因为您订阅了 Google 网上论坛的“PerlChina Mongers 讨论组”论坛。
要向此网上论坛发帖,请发送电子邮件至 [email protected]。
要取消订阅此网上论坛,请发送电子邮件至 [email protected]。
若有更多问题,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问此网上论坛。