python版 韩信点兵

问题:相传韩信才智过人,从不直接清点自己的军队人数,只要人士兵先后以三人一排,五人一排,七人一排的变换队形,而他每次只掠一眼队伍的排尾就知道总人数。输入包含多组数据,每组数据包含三个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100.输入到文件结束为止。
样例输入:
2 1 6
2 1 3
样例输出:
Case 1 :41
Case 2:No answer
解题思路:很简单的一道题,只要你理解到排尾就是余数的意思。

samples= [[2, 1, 6],[2, 1, 3]]

for sample in samples:
    is_exist=False
    for n in range(10, 100):
        if n%3==sample[0] and n%5==sample[1] and n%7==sample[2]:
           print(n)
           is_exist=True
           break
    if is_exist==False:
        print("No answer")

输出:

41
No answer

代码语言是python,懒得读取文件了,知道个逻辑就可以了。

你可能感兴趣的:(算法题)