余数计算器

程序员的数学之余数:星期数的思考

烈酒焚心 提交于 2019-12-18 09:14:16
课前对话 老师:奇数是什么? 学生:是1,3,5,7,9,11... 老师:对!奇数就是被2除余1的整数?那么偶数呢? 学生:能被2整除的整数 老师:正是!偶是就是被2除余2的整数。 学生:这其中有何奥妙呢? 老师:除法就像分组 学生:分组? 老师:根据余数来确定它属于哪个分组。 思考题一 今天是星期日,那么100天以后是星期几? 【思考题答案】 一周有7天,每过7天,便循环到相同的星期数。如果今天是星期日,那么7天后、14天后、21天后。。。这种“7的倍数”都是星期日。答案是星期二。 【应用余数思考】 假设今天是星期日,100天后的星期数就是100除以7的余数。因此100天后是星期二。 余数的力量-将较大的数字除一次就能分组 但是如果问题改成求1亿天后的星期数的话,靠数数就解决不了问题了。即使1秒能数一下,数到1亿至少也要话费3年以上的时间。而如果运用余数的话,很快就能 算出来。100000000%7 = 2。因为余数是2,所以1亿天以后是星期二。 星期数思考题二 这次我们来挑战稍微难一点的星期思考题。 今天是星期日,那么100^100天后是星期几? 可以直接计算吗? 如果能像求100天以后的星期数那样,用100^除以7的余数来计算就好了。但实际上数字太大了。计算起来相当费力。即使借助计算器也很难完成。 那么这道思考题有没有周期性呢?请寻找它的规律。 思考题答案