韩信点兵计算

传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他没次只掠一眼队伍的排尾就知道总人数了。输入包含多组数据,每组数据包含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

你可能感兴趣的:(韩信点兵计算)