韩信点兵(Hanxin)(C++)
前言
刘汝佳算法书《算法竞赛入门经典》第二章上机练习第三题
一、题目:
韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只瞟一眼队伍的排尾就知道总人数了。输入3个非负整数a,b,c表示每种队伍排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100。
样例输入:2 1 6
样例输出:41
样例输入:2 1 3
样例输出:No answer
二、解题思路:
排尾人数实则就是将总人数分别对3,5,7取余的余数,只要将总人数去掉余数在对3,5,7取余为0即可求出答案。
三、代码:
代码如下: