程序员的数学之余数

程序员的数学之余数奇数 本质上就是被 2 除余 1 的数 而 偶数 是可以被 2 整除的数 所以 除法 其实起到了将数字进行 分组 的作用 通过这种思想 可以解决一些比较棘手的问题 例如 如果今天是星期一 想知道 300 天以后是星期几该怎么办 之前说过 星期其实是 七

欢迎大家来到IT世界,在知识的湖畔探索吧!

`奇数`本质上就是被2除余1的数,而`偶数`是可以被2整除的数。所以,`除法`其实起到了将数字进行`分组`的作用。

通过这种思想,可以解决一些比较棘手的问题。

例如,如果今天是星期一,想知道300天以后是星期几该怎么办?

之前说过,星期其实是`七进制`数在起作用。所以,每过7天,就会得到相同的星期数。

如果今天是周一,那么7天后、14天后、21天后、……294天后,仍然是周一,所以,结论是下面这样的。

`294天后是周一` -> `295天后是周二` -> `296天后是周三` -> `297天后是周四` -> `298天后是周五` -> `299天后是周六` -> `300天后是周日`

300这个数字并不算大,可以花点时间数过来,但如果要问一万年后的今天是周几该怎么办?

这时候就要用到余数了(假设不考虑闰年,每年按365天算):`365 × 10000 % 7 = 4`。

现在能马上知道一万年后是周一之后的4天,也就是周五。

现在问题暂时解决了。

但数字总是会越来越大的——如果现在要知道10的100次方天之后是周几,又该怎么算呢?

因为这个数太大,用计算机来算都很费力。

通常,在没有办法的时候只能用最笨的办法:一个个地试。所以先尝试用7来对前面几个数求余,看看是否有规律可循。

程序员的数学之余数



欢迎大家来到IT世界,在知识的湖畔探索吧!

从结果可以看出:每增加6个0,余数就`循环`一次。为什么是每6个而不是7个?因为7又回到了自身。

程序员的数学之余数

因此,想要计算10的100次方天之后是周几,就变得比较简单了:`100 % 6 = 4`。

也就是说,如果今天是周一,那么10的100次方天之后是周五。

其实这种方法还可以扩展到一切使用进制来计数的地方,例如,现在是早上`08:00`,10的100次方个小时后是几点呢?

只不过因为小时是`24进制`的,所以找规律会麻烦一点,但原理是一样的。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/95542.html

(0)
上一篇 7小时前
下一篇 7小时前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信