zoukankan      html  css  js  c++  java
  • 每周算法讲堂 快速幂

    现在游戏开始!

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

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

    ......

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

    ......

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

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

    “参赛人数:11人”

    “奖品:无”

    “持续时间:一周”

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

    “♦3”

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

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

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

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


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

    神签是什么?

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

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

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

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

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

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

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

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

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

    “剩余人数:10人”

    “游戏继续。”

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

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

    这。。

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

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

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

    这。。

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

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

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

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

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

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

    但是。。”

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

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

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

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

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

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

    又因为a^(2*n+1)=(a^2)^n*a,所以4^5=(4^2)^2*4。

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

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

    好像真的变容易了?

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

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

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

    “剩余人数:9人”

    “游戏继续。”

    第三签,到我了。

    ……

    为什么到我就是大凶?!

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

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

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

    难道我要死了吗?

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

  • 相关阅读:
    HashMap实现原理
    设计模式-2-代理模式
    设计模式-1-单例模式
    重构技巧
    unable to create new native thread
    设计模式-6大原则
    阿里前端在线编程题
    如何实现用户懒加载?
    《我敢活成我想要的样子》读后感
    改bug心得
  • 原文地址:https://www.cnblogs.com/qscqesze/p/5239835.html
Copyright © 2011-2022 走看看