【程序员必修数学课】->基础思想篇->余数->哈希函数的本质

这篇文章是关于数学中一个常见的概念——余数

提起余数,想必大家都不陌生,我们生活中就有许多关于余数的例子。

比如,今天是星期二,你想知道30天之后是星期几,就可以用 30 除以 7(一周七天),余 2,最后在今天的基础上加上两天,这样你就知道了,30天后是周四。

再比如,我们做 Web 编程时,经常要用到分页的概念。如果你要展示 1123 条数据,每页 10 条,那么该怎么计算总共的页数呢?大部分人可能都会想到,用 1123 除以 10,得到商是 112,余数是 3,所以你的页数就是 112 + 1 = 113,而最后的余数就是多出来,凑不够一页的数据。

再有就是我之前在讲结构体的内存对齐模式时说的页式管理,也是用到了余数。

据此我们可以发现余数的一个重要特点,余数总是在一个固定的范围内

比如你拿任何一个整数除以 7,得到的余数肯定是在 0~6 之间的某一个数。所以当我们知道1900年的1月1日是星期一,那么便可以知道这一天之后的第一万甚至十万天是星期几。

我们都知道,整数是没有边界的,它可能是正无穷,也有可能是负无穷。但是余数却可以通过某一种关系,让整数处于一个可以确定的边界内。就像人类发名的星期或者礼拜,七天一个轮回,周而复始地过完一生。不管你身处哪个时刻,都身处周期内。

再看之前的例子,假如今天是周一,从今天开始的 100 天里,都有多少个星期呢?用 100 除以 7,得到商 14 余 2,也就是说这 10

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值