阅读材料一:静态检查>2.冰雹序列

作者: 达贡之邪力 | 来源:发表于2016-11-02 16:54 被阅读0次

    Reading 1: Static Checking > Hailstone Sequence

    原文地址: https://courses.edx.org/courses/course-v1:MITx+6.005.1x+3T2016/courseware/Readings_Videos/01-Static-Checking/

    冰雹序列

    作为一个运行的例子,我们将探讨冰雹序列,其定义如下。从数字n开始,如果n是偶数那么序列的下一个数为n的一半,如果n是奇数那么序列的下一个数为3n+1。当n为1时序列结束。这有些例子:

    冰雹序列例子

    由于奇数规则,序列在到达1前可能会一会儿上升一会儿下降。人民推测就像冰雹最终都会落地样,从任何n开始的冰雹序列最终都会到达1,但这依然是个开放的问题。为什么这称为冰雹序列?因为冰雹在云中上上下下,直到积累到足够的重量使得它能落地。

    计算冰雹序列

    这有一些计算并打印出冰雹序列的代码。我们将贴出Java和Python的代码在一起比较。

    代码1

    一些地方值得我们注意:

    -一些基本的人造表达式无论在Java中还是Python中都非常相似, 例如while和if表现地几乎一样。

    -Java要求在每行后有分号。这个多余的标点符号看似很平淡,但是它也给了你更多的自由去组织你的代码--你可以为了可读性将一句代码分成很多行。

    -Java要求每个if和while的情况判定式需要用圆括号包围。这么做并没有什么好的理由,而且我个人很烦这点。

    -Java要求中括号包裹代码块,而不是用缩进。你需要缩进代码,即使Java不强制要求这一点。代码是一种交流形式,而且你不只是在和编译器交流,还在和人类交流。人类需要缩进。我们还是回来谈这一点的。

    相关文章

      网友评论

        本文标题:阅读材料一:静态检查>2.冰雹序列

        本文链接:https://www.haomeiwen.com/subject/xtwvuttx.html