1.提出问题
怎么把有限的数据循环分配给无限的列表上展示?例如,我只有5张图片,有个无限的列表要无限循环展示这5张图,该如何实现?
2.分析问题
假设这5张图为一个数组int[5] data;
列表为负无穷到正无穷;
如何让这个无限数据映射到这个数组上?
0/5=0余数0
1/5=0余数1
2/5=0余数2
...
4/5=0余数4
5/5=1余数0
6/5=1余数1
...
9/5=1余数4
...
其实就是数学上除法运算余数的概念:
余数指整数除法中被除数未被除尽部分,且余数的取值范围为0到除数之间(不包括除数)的整数。例如:27除以6,商数为4,余数为3。 另外,被除数=除数x商+余数。
所以,把这个无限的数与这个5取余得到的值永远在0~4之间,刚好对应数组下标!
3.结论
整数中,可以把无限的数通过取余循环映射到[0,除数)这个区间;