将余数和20÷3=6……2(因为是3数之和),可以推论说,余数的平均数是比6大一点,但小于7,因为3×7=21>20
∵最大的余数是8,比6大2
∴最小余数不应该小于5
方案1:5,7,8
方案2:6,6,8
方案3:6,7,7
三个方案进行排除
方案1:7对应8,8对应9,所以取8和9最小公倍数72-1=71与7的余数是1,∴排除方案1
(PS:公倍数-1余数就比两个乘数小1的余数,XX÷8=X……7,又要YY÷9=Y……8,就只有72-1=71÷8=8……7,71÷9=7……8)
方案2: 8对应9,6对应7,所以取7和9最小公倍数63-1=62与8的余数是6,∴这个选项就是对的,62就是取的值
方案3: 7对应8,6对应7,所以取7和8最小公倍数56-1=55与9的余数是1,∴排除方案3
这里利用python3
for i in range(10,99): #取值2位数 x = i%7 #分别与7,8,9取余 y = i%8 z = i%9 if x+y+z == 20: #如果余数和为20 print(i) #打印这个两位数 else: pass运算结果
如果三位数呢?
for i in range(100,999): x = i%7 y = i%8 z = i%9 if x+y+z == 20: print(i) else: pass运算结果