欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

算法竞赛入门经典 韩信点兵问题 C++解法

程序员文章站 2024-03-18 23:17:28
...

韩信点兵 问题

相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入包含多组数据,每组数据包含3个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100。输入到文件结束为止。

样例输入:

2 1 6
2 1 3

样例输出:

Case 1: 41
Case 2: No answer

#include<iostream>
using namespace std;
int main() 
{
	int i, a, b, c;
	cin >> a >> b >> c;
	for (i = 0; i <= 100; i++) {
		if (i % 3 == a && i % 5 == b && i % 7 == c) {
			cout << i << endl;
		}
	}
	if (i == 101 && i % 3 != a && i % 5 != b && i % 7 != c) {
		cout << "no answer";
	}
	system("pause");
	return 0;
}

注意对no answer的输出