你是否听说过“100里有几个8”这个谜语?它是中国流传已久的数学题,也是很多人在课余时间解决的谜题。首先,我们需要知道什么是整除和余数。当一个整数a能够被另外一个整数b整除时,我们说a是b的倍数,b是a的因数,也可以用a mod b = 0表示。当a不能被b整除时,a mod b 的结果为不为0的一个数,该数称为a除以b的余数。如果我们要求100以内可以被8整除的数的个数,我们只需要从1开始,找能够被8整除的数,直到找到100为止。可以发现,8*1 = 8,8*2 = 16,8*3 = 24,……,8*12 = 96,8*13 = 104,超出了100,因此100以内能够被8整除的数共有12个。那么,如果我们要求1000以内有几个8呢?也十分简单,只需要将8*1,8*2,……,8*124列举完毕,即可发现有1000以内有125个8。同理,通过这个方法可以求出10000以内有几个8,100000以内有几个8……依次类推,都可以得到这个问题的答案。但是需要注意一点的是,在大数位上转化为字符串来做更加方便。