一个数除于7余1,除于8余7,除于9余3,问这个数最小是多少?(要求解过程)

能不能用方程来计算呀?怎么算?

这个是中国历史上著名的韩信点兵问题,也叫孙子问题(物不知数)。
固定的解法是这样的:

【题】
一个数除于7余1,除于8余7,除于9余3,问这个数最小是多少?

【解】
先随便求一个能被7和8整除且除以9余3的数。有固定的方法:
56m-9n=3
(计算前要先把式子两边约一下,这时候没有公因子,不用约)
两个系数56和9,56大,就让56除以9,商6余2,于是
可以化简为(6*9+2)m-9n=3,2m-9(n-6m)=3,令k=n-6m,有
2m-9k=3
两个系数2和9,9大,9除以2商4余1,于是
又可以同样化简2m-(4*2+1)k=3,2(m-4k)-k=3,令i=m-4k,有
2i-k=3
这时候,有一个系数是1,遇到系数是1的时候,要留一个1,即2=1*1+1,而不是2=2*1+0。同样令j=k-i,有
i-j=3
这时候,两边系数都是1,就不能化简了,令j=0,有i=3
代回去,算出k=j+i=3,m=i+4k=15
令a=56m=840,则7|a,8|a,且a除以9余3。

按照同样的方法,找到:
b=3087,7|b,9|b,且b除以8余7
c=288,8|c,9|c,且c除以7余1

然后把三个数加起来
a+b+c=4215,显然这个数满足被7除余1,被8除余7,被9除余3,但不一定是最小

7,8,9三个数的最小公倍数(有固定的算法)是7*8*9=504

然后用4215除以504,商8余183

183就是结果。

PS: 以上解法是固定的算法,对于任意大的数字均可以用该算法求解,不需要试探和猜测。其中求最小公倍数也有固定的算法,即用辗转相除法求得最大公约数间接求得。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2006-09-14
除以7余1的数最小是8,如果在8的基础上加7,仍旧符合除以7余1的条件,所以在8的基础上连续加7,使得到的数能符合除以8余7:
8、15、22、……
发现其中最小的是15符合条件。
如果在15的基础上加上7与8的最小公倍数56,那么这个数仍旧符合前两个条件,即除以7余1,除以8余7,所以在15的基础上连续加上56,使得到的数能符合除以9余3:
15、71、127、183、239、……
发现183除以9余3,得解。

如果在183的基础上继续加7、8、9的最小公倍数,所得的数都符合这三个条件,因为所求是最小的,所以这个数是183。
第2个回答  2006-09-14
设这个整数为x,根据条件有
x=7a+1
x=8b+7
x=9c+3
可以得到8b+6=7a,9c+2=7a,
可以知道b=7k+1时,c=7m+6时候上述两式成立(这一步试几个数就知道了),把b,c代入上述两式可以得到
56k=63m+42,得到满足该式子的最小k=3,最小m=2。(很容易得到的)
所以最小的b=7*3+1=22,所以所求的x=8*22+7=183
第3个回答  2006-09-14
我算了下
除7余1的是8的倍数
除8余7是15的倍数
除9余3是12的倍数
所以我认为就是求 8 15 12的公倍数
答案:120
第4个回答  2006-09-14
同意二楼的答案!迟来了一步,呵呵!
第5个回答  2006-09-14
这些方法都很好,值得收藏
相似回答