def get_result(n):
return True if n== 1 else get_result(n-1)*2+1
超级简洁。逆向递推,到为1时候停止,把值返回。
有个很古老的传说,那时候象棋刚刚发明出来,阿拉伯的一个国王一下就迷上了,觉得应该重奖发明这个游戏的人,结果发明者来了,他让人家提要求,人家说棋盘上第一个格放1粒麦子,第二个格2粒,第三格4粒,第四格8粒,这样类推下去,最后一个格也放满,最后把这些麦粒奖给他,国王欣然同意,觉得这个人很厚道,不漫天要价,结果按照这个规律装麦粒的时候才发现,原来全国粮仓里的麦子也不够用。这就是典型的数量级上的错误。
版权声明:本文为weixin_42013825原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。