问题描述
有一堆 100 多个的零件,若三个三个数,剩二个;若五个五个数,剩三个;若七个七个数,剩五个。请你编一个程序计算出这堆零件至少是多少个?
输入
无。
输出
一行,一个整数。
要解决这个问题,我们需要找到一个满足以下同余条件的整数 x:
- x≡2(mod3)
- x≡3(mod5)
- x≡5(mod7)
我们可以使用中国剩余定理(Chinese Remainder Theorem, CRT)来解决这个问题。中国剩余定理告诉我们,如果模数两两互质,那么对于一组同余方程,存在一个唯一解模它们的乘积。
首先,我们列出同余方程:
x≡2(mod3)
x≡3(mod5)
x≡5(mod7)
我们可以逐步求解这些同余方程。
第一步:求解前两个同余方程
我们先求解 x≡2(mod3) 和 x≡3(mod5) 的解。
设 x=3k+2,代入第二个同余方程:
3k+2≡3(mod5)
3k≡1(mod5)
我们需要找到 k 使得 3k≡1(mod5)。通过试验,我们发现 k=2满足这个条件:
3×2=6≡1(mod5)
所以 k≡2(mod5),即 k=5m+2(其中 m 是整数)。代入 x=3k+2:
x=3(5m+2)+2=15m+6+2=15m+8
因此,前两个同余方程的解是:
x≡8(mod15
第二步:求解合并后的同余方程和第三个同余方程
我们现在有:
x≡8(mod15)
和
x≡5(mod7)
设 x=15n+8,代入第三个同余方程:
15n+8≡5(mod7)
15n≡−3(mod7)
15≡1(mod7)
所以方程变为:
n≡−3(mod7)
n≡4(mod7)
即 n=7p+4(其中 p 是整数)。代入 x=15n+8:
x=15(7p+4)+8=105p+60+8=105p+68
因此,所有同余方程的解是:
x≡68(mod105)
最终答案
由于题目要求零件数量在100个以上,最小的满足条件的整数是:
x=68+105=173
所以,这堆零件至少是173个。
最终答案是:
173