GNU Info

Info Node: (emacs-lisp-intro.info)Decrementing Example

(emacs-lisp-intro.info)Decrementing Example


Next: Dec Example parts Prev: Decrementing Loop Up: Decrementing Loop
Enter node , (file) or (file)node

Example with decrementing counter
.................................

   To illustrate a loop with a decrementing counter, we will rewrite the
`triangle' function so the counter decreases to zero.

   This is the reverse of the earlier version of the function.  In this
case, to find out how many pebbles are needed to make a triangle with 3
rows, add the number of pebbles in the third row, 3, to the number in
the preceding row, 2, and then add the total of those two rows to the
row that precedes them, which is 1.

   Likewise, to find the number of pebbles in a triangle with 7 rows,
add the number of pebbles in the seventh row, 7, to the number in the
preceding row, which is 6, and then add the total of those two rows to
the row that precedes them, which is 5, and so on.  As in the previous
example, each addition only involves adding two numbers, the total of
the rows already added up and the number of pebbles in the row that is
being added to the total.  This process of adding two numbers is
repeated again and again until there are no more pebbles to add.

   We know how many pebbles to start with: the number of pebbles in the
last row is equal to the number of rows.  If the triangle has seven
rows, the number of pebbles in the last row is 7.  Likewise, we know how
many pebbles are in the preceding row: it is one less than the number in
the row.


automatically generated by info2www version 1.2.2.9