为了说明带有递减计数器的循环,我们将重写 triangle
函数,使计数器递减到零。
这是该函数早期版本的反转。在这种情况下,要找出构成 3 行三角形所需的小石子数量,将第三行的小石子数量(3)与前一行的数量(2)相加,然后将这两行的总和添加到它们之前的行,即第一行(1)。
同样,要找出具有 7 行的三角形中的小石子数量,将第七行的小石子数量(7)与前一行的数量(6)相加,然后将这两行的总和添加到它们之前的行,即第五行(5),依此类推。与前一个示例一样,每次添加仅涉及两个数字的相加,已经添加的行的总和以及正在添加到总和的行的小石子数量。这个加法的过程一遍又一遍地重复,直到没有更多的小石子可添加。
我们知道从哪里开始有多少小石子:最后一行中的小石子数量等于行数。如果三角形有七行,最后一行中的小石子数量为 7。同样,我们知道前一行中有多少小石子:它比该行中的数量少一个。