问题描述:有一箱苹果, 4 个 4 个地数最后余下 1 个, 5 个 5 个地数最后余下 2 个, 9 个 9 个地数最后余下 7 个。编写程序计算这箱苹果至少有多少个。
解题思路:先确定除以 9 余 7 的最小整数,对这个数字重复加 9,如果得到的数字除以 5 余 2 就停止;然后对得到的数字重复加 45,如果得到的数字除以 4 余 1 就停止。这时得到的数字就是题目的答案。
由于无法确定循环次数,这样的问题一般使用while循环来解决,例如下面的代码:
在标准库itertools中有一个count类,语法如下:
count(start=0, step=1) --> count object
调用count类会创建并返回一个count对象,该对象具有惰性求值特点,包含从start开始和step为步长的无限个整数。
使用count类改写上面的代码如下: