每周算法讲堂 快速幂

现在游戏开始!

“切,又是无聊的一周。”沈柯倚靠在墙边,不屑的说道。

“以生存为赌注,拼上性命寻找出路什么的,我才不会怕呢。”廖奇握紧拳头,自信地说道。

......

“啊,为什么,为什么,游戏为什么又开始了?!怎么会这么快?!”,小郭蹲在角落里面,捂住头,瑟瑟发抖的样子。

......

我当然还是和往常一样,安静的站在一边,没有吱声。这个游戏并不会怜悯弱者,也不会对勇者有任何的奖励,只要安静的活下去就好。

喇叭突然又传出了那无感情,冰冷的声音。

“参赛人数:11人”

“奖品:无”

“持续时间:一周”

“【游戏】难易度:……”

“♦3”

♦说明这个游戏是智力类型,3说明是难度为3。

“难度才为3,还好不算太难。而且是智力类型,恰好是我擅长的方向呢。”潘星霖稍微舒了一口气,“希望今天能够成功过关,这下我就能再活一周了。”

“是啊,我们俩可要加油啊。”张冠斓朝着潘星霖点了点头。

“难道不应该是我们吗?”杨宇同对张冠澜说道。


突然我的耳边传来微微的声音,“最后说明,游戏规则:每个人抽取一个神签,并解决上面的问题,答对者活下来,而答错者,死。”

神签是什么?

而且为什么这次声音不通过喇叭播放?

难道每个人的任务不一样?那这个游戏可真够阴人的啊……

正当我想来想去的时候,突然在大家的眼前多了一个箱子,那箱子里面摆满了签子,似乎那就是……

“神签!”廖奇开心道,“哈!只要答对了他,我就能回去了!”

廖奇还没等大家反映过来,就冲了上去抽了一签。

只见拿签上写着“大吉。问题:请在三秒内说出二的十次方是多少。”

“1024。”廖奇大声叫了出来。

毫无疑问,系统给出了正确的回应,廖奇带着笑容,离开了这个游戏。

虽然说只留下了三秒的时间,但是计算二的十次方就算2*2*2....*2,也是来得及的。果然是大吉之人,这种题目不得不说是送分题,真是羡慕廖奇大哥,真不知我能抽到什么签。

“剩余人数:10人”

“游戏继续。”

第二签,潘星霖走了上去。

“凶。问题,请你在三十秒内说出二的一百次方的后四位数字是多少。”

这。。

这,这是什么鬼问题!三十秒内怎么可能计算出二的一百次方出来?这系统分明是在要潘星霖死啊!

“5376”,潘星霖举起了手,带着她往常熟悉的微笑。

“回答正确。”系统冰冷的声音,不带一丝感情。

这。。

这是怎么做到的?怎么计算出来的?

潘星霖似乎察觉到了我的心声,走过来,她拍了拍我的肩。

她转身对着大家说:“大家不要怕,既然是题,那么我们就肯定可以解决的。如果说出题人出了道大家都不会做的题,那有什么意义呢?”

“回到这道问题,二的一百次方。”潘星霖举起了他的神签。

“人脑大概一秒能够比较轻松的运算三到四次左右,所以三秒计算二的十次方,这是一个比较简单的事情。

但是三十秒解决二的一百次方的话,如果按照常理的话,肯定是不可以的,就算再聪明,也不可能一秒计算10次。

但是。。”

潘星霖带上了她熟悉的微笑。

“我们可以简化嘛,很显然a^(2*n) = (a2)n,a(2*n+1)=(a2)^n*a对不对?”

我想了想,的确是这样的,这两个东西都很显然,但是这和这道题有什么关系呢?

“没错,只要有了这个,我就能使得计算量减少。”还是那微笑,不过弧度仿佛越来越大了。

“比如一开始的2^10:
因为a^(2*n) = (a2)n,所以210=(22)^5。

2^2 = 4,所以2^10 = 4^5。

又因为a(2*n+1)=(a2)n*a,所以45=(42)2*4。

再算45=(4*4)2*4,再算16^2=256,在带回去*4=1024。

然后,这道题就结束了。”

好像真的变容易了?

按照这样去想的话:2^100 = (22)50 = 4^50 = (42)25 = 16^25 = (162)12*16 = 256^12*16 = (2562)6*16 = 5 536^6 * 16 = (55362)3*16 = 7 296^3*16 = 336*16 = 5 376。

好像果然如此,连我这么笨的人,居然也能在规定时间内轻松的计算出来。

潘也回去了,带着那熟悉的微笑,留下了一句话“记住哦,那叫快速幂,我希望能够帮助到你们。”

“剩余人数:9人”

“游戏继续。”

第三签,到我了。

……

为什么到我就是大凶?!

题目:请在三分钟内解决下面的题目:

众所周知772002很喜欢马尾,所以他决定画几幅马尾送给他的女朋友…………(详见CDOJ1280)

这又是什么鬼题目!772002喜欢画马尾关我什么事儿啊!

难道我要死了吗?

我之后究竟怎么了?请听下回分解。

posted @ 2016-03-03 19:42  qscqesze  阅读(940)  评论(2编辑  收藏  举报