首页 > 代码库 > 韩信点兵

韩信点兵

Q:传说韩信将军才智过人,只要让士兵先后以三人一排,五人一排,七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3个非负整数n3,n5,n7,表示每种队形排尾的人数(n3<3,n5<5,n7<7),输出总人数的最小值。已知总人数不少于10,不超过100(包含多组数据,输入到文件结束为止)。

S:

#include<stdio.h>int main(){	int soldier;	int n3,n5,n7;	int i;	while(scanf("%d%d%d",&n3,&n5,&n7)!=EOF)	{		for(i=2;i<=17;i++)		{			soldier=7*i+n7;			if(soldier%5==n5&&soldier%3==n3&&soldier<=100)			{				printf("%d\n",soldier);				break;			}		}		if(i==18||soldier>100)	printf("无解\n");	}		return 0;}

 

韩信点兵