AMC8数学竞赛中有这样一套题目:

大意是一个正整数,用7除余数为2。请问,这个数如果乘以9再用7除,余数是多少?

什么是模运算?

关于模运算,GPT的解释是:

Alright, let's dive into the magical world of modular arithmetic! Imagine you're trapped in a never-ending loop of a clock. It's always 12 hours, no matter how many times you spin around. That's essentially what modular arithmetic is like—numbers keep looping back after hitting a certain value called the modulus.

大意是取模运算就像一个不断循环的时钟,随着时间增长,小时数也不断从0、1、到11,但是到了12点以后就清零,继续循环时又从1、2等开始。

首先看GPT对上述问题的求解:

上面是GPT的求解,很简洁。如果n模7的余数是2,两边同时乘以9,则9n模7的余数是18,或者说是4。

模运算的加减乘除法则

下面看一下模运算的法则。先看一下GPT的解释:

模运算支持加、减、乘操作,但是对于除法,有些不一样。除以一个数相当于乘以这个数的逆。在模运算中,一个数的模逆被定义为该数模逆乘以该数的乘积模运算为1。公式为:

其中三横的符号为模余或者称为同余式。一个例子是8/3模11等于多少?我们要找到3模11的模逆,也就是4,因为3✖️4=12,其模11为1。8/3模11相当于8✖️4模11,也就是32模11,结果是10。

模逆的运用:

知道模逆的概念很重要,比如下面的例子:

例题:

如果12k模19等于1,请问k模19等于多少?

求解:

对于模19的操作:我们知道:

12✖️1余-7或者12

12✖️2余5

12✖️3余17

12✖️4余10

12✖️5余3

12✖️6余15

12✖️7余8

12✖️8余1

也就是如果

两边乘以12的模逆,也就是8,则等式变为:

如果12k模19余1,则k模19余8。

最后看一道应用题,领会模逆的概念运用。

题目:A number, when divided by 9 , leaves a remainder of 6 , and when divided by 5 , leaves a remainder of 3 . Find the product of all digits in the smallest three-digit number that satisfies these conditions.

题干:

已知:一个最小3位数,模9余6,模5余3

求解:最小3位数的每位的乘积

解:假设这个三位数为k,模9余6,所以:k=9m+6

模5余3,所以:

两边乘以9模5的模逆,也就是4,因为9✖️4=36, 36(mod5)余1。

如果m=3, 则 k=9m+6 = 33; 不满足3位整数条件,舍去; 

如果m=8, 则 k=9m+6 = 78;不满足3位整数条件,舍去;

如果m = 13,则k=9m+6 = 123; 满足3位整数,而且最小。因此 k=123;

整数k每位数的乘积=1✖️2✖️3 = 6

完毕。