首页 > 编程知识 正文

数字倍增计算公式,倍增算法计算器

时间:2023-05-06 03:13:11 阅读:46012 作者:1916

白话解说:转载原地址

【序言】

我认为所有能优化复杂性的算法都是魔法,所有能形象化复杂性的文字都很伟大。 我觉得倍频算法很厉害,所以决定写点什么来纪念。 但是,作为一个非常不称职的OIER,我在看别人的算法分析时讨厌整个版本的I,j,k,所以当我看到鼠标时,我会惯性移动到右上角的符号语言。 所以,我想最形象地纪念那个。

【一】

从前,有一只可爱得不得了的白兔,想去离a地很远的b地。

2B小白兔:

向右一步,向左一步,向右很多步,还有……(对不起,这是脑浆)

普通小白兔:

往右走一步,再走一步,再走一步……再走一步,哇,到了! 很开心!

超级小白兔:

向右跳得很大,一步一步跳向b,静静地回头,鄙视一步跳着的白兔。

我相信作为普通人,不会考虑2B白兔的这种做法。 那是因为脑子太差了。

同时,我相信作为普通人,不会考虑超级白兔的这种做法。 因为……

“擦! 你说什么时候能这样跳! “愤怒”

“我什么时候说不行! (卖萌)”

但是,你必须承认。 超级白兔还有两把刷子。 因为那真的很厉害。 太厉害了,你想都没想过。

【二】

从前,有一只可爱得不得了的白兔,它想去远离a地的被b、c、d、e、f几个梦想笼罩的地方。 (请不要问我是从哪里来的。 我的梦想在很远的地方)

2B小白兔:

对不起,我的生命有限,我不想再提了)

普通小白兔:

一步又一步,生命不息,跳跃不止。

超级小白兔:

一步是b,另一步是c,另一步是d,另一步是e,另一步是f,完成了。

不用解释,我知道你想成为那个超级白兔。 嗯,你一定是那样跳舞的。 (神马? 不是吗? 你的智商我救不了……)

是的,不那么跳的人对社会很抱歉啊。 浪费时间是浪费青春,浪费青春是犯罪。

是的,既然你这样跳,你能告诉我你是怎么知道从a跳两个格子就正好到b的吗? 你在空中使用了GPRS全球卫星定位系统吗? 别过来! 主页你现在没有用这样的东西。 你的白色软下酒菜兔子还在用这个吗? 你能笑我吗? 哈哈哈,一定是临走前偷偷学普通兔子一步一跳,记笔记抄下来,从每个格子上记下任意一步跳就到的地方,天亮前回来,风光如踏脚计划大步跳,我但是你有这种真诚的感觉,所以为你的聪明鼓掌吧。

【三】

从前,有一只可爱得不得了的白兔,想去离a地很远的1 (这里省略很多0 )的地方。 那是因为我真的没有事做。

普通小白兔:

从离开家的那天起,我就没有想过一步一步放弃,冲进终点。 (嗯,加油)

超级小白兔:

轻率,决不多走一步。 〈哼哼〉

你想知道最后的结果吗? 呵呵,好像还没有结果……

写给普通小白兔的话:

亲爱的白兔,我知道zzdhxc。 你很朴素。 但是,苦海没有职业生涯,回头看是岸。

写给超级小白兔的话:

我不知道你的小手稿是否还足够。 我不知道你摸黑出门是为了什么。 你不觉得你的住处早就暴露了吗? 你觉得你聪明吗? 不,你错了。 请做下酒菜。 永远都是。 要说为什么,那是因为你不知道加倍算法。 这是你失败的根源。 再见,我心中永远不会消失的愚蠢的兔子。

-------------请参阅

-------------------------------------------------- 卖萌分割线 ----------------------------------------------------------------------------------------------------

 

        普通兔子 = 速度慢,无资源损耗 || 超级兔子 = 速度快,多资源损耗

 

        还记得那只离我们远去的2B兔子吗?对,其实我们早该想到了,越蠢得不可思议的兔子身上竟然有巨大的宝藏,再看看它的名字吧,“2B”!去掉一个“B”!就是“2”!对,你没有听错,就是“2”,你能想到4、8、16、32吗?

        再想想,超级兔子的小抄本不够用,不就是因为它为了应对所有的目的地信息,它记录下了任何一个格子跳任意步会到达的格子,100个格子它要记录大概5000条信息,1000个格子大概要记录500000条信息,10000个格子它大概要记录50000000条信息,至于你晕没晕,我相信它应该晕了。

        可不可以把记录的信息数降到最低呢?当然可以,2B兔子帮你忙,让你用2战胜敌人。

        thdjqm只记录任何一个格子跳1、2、4、8、16……步会到达的格子的时候,你有没有发现信息数突然少了好多好多啊!真的少了好多好多啊!100个格子只要500条左右,1000个格子只要5000条左右,10000个格子只要50000条左右,不比不知道,一比吓一跳啊!

        安心小抄五十年,健康生活一辈子。

        从此,超级小白兔成为了聪明小白兔,它的生活是这样的:

 

        在夜深人静的时候,它偷偷出门做小抄,记录下从每个格子跳1、2、4、8……个格子后会到达的格子,然后在太阳出来后,它在qjdxd,开始了表演。

        从A出发:若跳8个格子(超过B了,放弃)

                  若跳4个格子(超过B了,放弃)

                  若跳2个格子(没超过B,跳吧)

                  若跳1个格子(没超过B,跳吧)

        从B出发:…………

 

        多么轻松的事情,只要一本很薄的小抄就可以了,最关键的是:它绝对不会连着跳两步都是跳相同的格子数,因为如果跳两次2个格子都是可行的话,那么它干嘛不跳4个格子捏?

        我们可是从多到少来判断的啊!!

 

        好的,聪明小白兔白天的事情你已经看懂了,且看它晚上是怎么打小抄的吧。

        从A出发跳1步到1(记录下来)

        从1出发跳1步到2(记录下来)

        …………(跳1步的记录完毕)

 

        从A出发跳2步?就是从A出发跳1步再跳1步的到的地方,翻看小抄,直接誊写从1出发跳1步会到的2这个格子作为A跳2步会到的格子。

        从1出发跳2步?跟刚才一样,直接誊写。

        …………(跳2步的记录完毕)

 

        从A出发跳4步?你还真去跳4步?不,它也就是等于从A出发跳2步到的2号点再跳2步会到的格子,那么我们直接誊写2号格子跳2步会到的格子就可以了。

        ……

        ……

 

        看看聪明小白兔多么聪明!也许还有自认为更聪明的:

            “在记录A跳4步会到的格子的时候,为什么不直接从A跳4步看到了哪里再记录下来呢?跳4步跟跳1步的代价不是一样的么”

            “我这样回答你好了!把你丢在纽约的一个公交车站,问你一条线路的下一个站是什么?你怎么办?当然是自己亲自走到下一个站就知道了!那如果问你接下来的第4个站是什么?难道你可以直接走到第4个站而不用途径其它的站点了吗?这不现实,你还是要一个一个站的走,因为关键在于你只能知道你目前所在站点的下一个站是什么,想知道下下个站,除非你已经到了下个站,兔子跳格子也跟这类似,虽然聪明小白兔神通广大,但是不至于伟大到可以提前预知跳几步会到哪里啊!!”

 

        从此,聪明小白兔避免了成为人类的下酒菜,而被一群OIER们像神一样的供奉了起来,不要问它为什么,因为它也不知道,貌似只是某人卖了个小萌,事情就变成这样了。

 

                                                                                                                                                                                                           

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。