答案2346,用python实现的。
def max_gongyue(num1, num2):
"""辗转相除法求最大公约数"""
m = max(num1, num2)
n = min(num1, num2)
while m * n != 0:
m = m % n
if m == 0:
return n
else:
n = n % m
if n == 0:
return m
def min_gongbei(a, b):
"""利用最大公约数求2个数的最小公倍数"""
return int(a * b / max_gongyue(a, b))
def get_min_gongbei(n1, n2, n3):
"""求三个数的最小公倍数"""
n4 = min_gongbei(n1, n2)
return min_gongbei(n4, n3)
if __name__ == '__main__':
for ABCD in range(999, 9999):
AB = ABCD // 100
BC = ABCD // 10 % 100
CD = ABCD % 100
if AB != 0 and BC != 0 and CD != 0:
min_gong_bei = get_min_gongbei(AB, BC, CD)
if ABCD == 3 * min_gong_bei:
print(ABCD)
【 在 famier 的大作中提到: 】
: ABCD四位数是三个两位数AB,BC,CD的最小公倍数的3倍,求这个四位数。
--
修改:famier FROM 219.236.116.*
FROM 219.236.116.*