什么是奇数?我们可以认为奇数就是那些被2整除余1的数。那么什么又是偶数,偶数就是那些被2整除余0的数。所以,我们可以用除法来分组。
0.星期数(0)
今天是星期日,那么100天以后是星期几?
一周有7天,每过7天,便循环到相同的星期数。如果今天是星期天,那么7天以后,14天以后,21天以后...这种“7的倍数的天后”,都是星期天。因此98天后也是星期天,那么99天就是星期一,100天就是星期二。
这里我们可以用余数进行思考。
0 1 2 3 4 5 6
日 一 二 三 四 五 六
100/7 = 14 余2
对照上面的表格可知,100天是星期二。
那么如果问题要改为1亿天以后呢?
100000000/7 = 14285714余2
由此可知1亿天之后仍旧星期二。这里为什么要除以7,是因为星期数以7为循环,因此我们就可以利用除法将其分组。
1.星期数(1)
10^100天以后是星期几?
我们并不急于求出10^100,而是想1,10,100,1000...这样,一次增加1的位权,观察其规律
0的个数
0 1天以后的星期数 1/7 = 0余1 一
1 10天以后 10/7 = 1余3 三
2 100天以后 100/7 = 14余2 二
3 1000天以后 1000/7 = 142余6 六
4 10000天以后 10000/7 = 1428余4 四
5 100000天以后 100000/7 = 14285余5 五
6 1000000天以后 1000000/7 = 142857余1 一
7 10000000天以后 10000000/7 = 1428571余3 三
果然有规律,余数以1,3,2,6,4,5的次序循环
1 3 2 6 4 5(天数除以7的余数)
一 三 二 六 四 五
也就是说每增加6个0,余数不变。因此周期数为6。将0的个数除以6,得到的余数为0,1,2,3,4,5的其中之一,分别对应星期一、星期三、星期二、星期六、星期五。
0 1 2 3 4 5
一 三 二 六 四 五
那么100/6 = 16余4,那么10^100天以后为星期四。
参考文献 程序员的数学 【日】结城浩