具有增量计数器的示例

假设您正在沙滩上玩耍,决定做一个鹅卵石三角形,第一排放一个鹅卵石,第二排放两个,第三排放三个,依此类推,如下所示:


               *
              * *
             * * *
            * * * *

(大约2500年前,毕达哥拉斯等人通过考虑这类问题发展了数论的开端。)

假设您想知道要制作一个有7排的三角形需要多少鹅卵石?

显然,您需要做的是将从1到7的数字相加。有两种方法可以做到这一点:从最小的数字开始,即1,按顺序相加列表中的数字1、2、3、4等;或者从最大的数字开始,按列表向下相加:7、6、5、4等。由于这两种机制都说明了编写 while 循环的常见方法,我们将创建两个示例,一个是递增计数,另一个是递减计数。在这个第一个示例中,我们将从1开始,然后添加2、3、4等。

如果您只是在一个短列表中相加一些数字,最简单的方法是一次将所有数字相加。但是,如果您不知道列表将有多少数字,或者如果您希望为一个非常长的列表做好准备,那么您需要设计加法,以便您重复一个简单的过程多次,而不是一次执行更复杂的过程。

例如,与其一次性将所有鹅卵石相加,不如将第一排的鹅卵石数,即1,加到第二排的鹅卵石数2中,然后将这两排的总数加到第三排的鹅卵石数3中。然后,将第四排的鹅卵石数4加到前三排的总数中,依此类推。

这个过程的关键特征是每个重复的动作都很简单。在这种情况下,在每一步中,我们只添加两个数字,即排中的鹅卵石数和已找到的总数。这个添加两个数字的过程一遍又一遍地重复,直到最后一排的鹅卵石被添加到所有前排的总数中。在更复杂的循环中,重复的动作可能不那么简单,但它将比一次性做所有事情更简单。