余数有很多的应⽤场景,⽐如散列函数、加密算法,循环冗余校验等等。生活中也有很多与余数有关的例子。
-
比如,你要将1147条数据分页写入,每页10条,计算总页数。就可以用1147除以10,商114,余7,所以总页数就是114+1=115,最后的余数7就是多出来不够⼀页的数据。
-
再比如,今天是星期四,你需要知道50天之后是星期几,就可以用50除以7(⼀个星期有7天),余1 。然后在今天的基础上加⼀天,也就是50天之后是星期五。
余数总是在⼀个固定的范围内。比如你拿任何⼀个整数除以7,得到的余数肯定是在0~6之间的某⼀个数。所以当我们知道今天是星期⼀,那便可以知道这⼀天之后的第1万天、10万天是星期几。
比如:
a = 123456
b = 7
c = a % b
print(c) #余4
a = 7125893
b = 7
c = a % b
print(c) #余5
整数是没有边界的,它可能是正无穷,也可能是负无穷。但是余数却可以通过某⼀种关系,让整数处于⼀个确定的边界内。假如今天是星期⼀,求从今天开始的100天⾥有多少个星期? 用100除以7,商14余2,也就是说这100天⾥有14周多2天。
换个⻆度可以说:这100天⾥,第1天、第8天、第15天等等,在余数的世界⾥都被认为是同⼀天,因为它们的余数都是1,都是星期⼀。同理,第2天、第9天、第16天余数都是2,都是星期⼆。
同余定理
这些数的余数都是⼀样的,所以被归类到了⼀起,这⼀结论被称为同余定理。就是两个整数a和b,如果它们除以正整数n得到的余数相等,我们就可以说a和b对于模n同余。也就是说所有星期⼀都是同余的,同理,星期二、星期三、星期四等等这些天也都是同余的。还有我们经常提到的奇数和偶数,其实也是同余定理的⼀个应用。
同余定理是一种在数学中广泛应用的方法,用于判断两个整数之间是否具有某种关系。可以通过使用模运算符(%)来实现同余定理,从而对数据进行分类。以下是一个简单的同余定理示例,用于将整数分为三类: