传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他没次只掠一眼队伍的排尾就知道总人数了。输入包含多组数据,每组数据包含3个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100。输入到文件结束为止
样例输入
2 1 6
2 1 3
样例输出
1: 41
2: 无解
#-------------------------------------------------------------------------------
#韩信点兵,每3人一列余1人、5人一列余2人、7人一列余4人……
#样例输入
#1 2 4
#2 1 3
#样例输出
#1: 67
# 2: 无解
#-------------------------------------------------------------------------------
a = int(input("a = "))
b = int(input("b = "))
c = int(input("c = "))
flag = False # 没有计算结果
for x in range(10, 101):
if (x % 3 == a) and (x % 5 == b) and (x % 7 == c):
print("x = ", x)
flag = True #有计算结果
if flag == False:
print("无解啊")
简单计算
a,b,c = 1,2,3
for x in range(10, 101):
if (x % 3 == a) and (x % 5 == b) and (x % 7 == c):
print("x = ", x)
测试
>>>
*** Remote Interpreter Reinitialized ***
a = 1
b = 2
c = 3
x = 67
*** Remote Interpreter Reinitialized ***
a = 2
b = 1
c = 3
无解啊
>>>
实际上就是求一个数x,x满足 x % 3 = 1 ,x % 5 = 2 ,x % 7 =3
网友评论