韩信点兵(hanxin)

时间:2023-03-09 19:42:39
韩信点兵(hanxin)

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

java 代码:

package demo;

import java.util.Scanner;

public class demo03 {

	public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int count=0;
while (in.hasNextInt()) {
int a=in.nextInt();
int b=in.nextInt();
int c=in.nextInt();
int num=hanxin(a, b, c);
if (num==-1) {
System.out.println("Case"+(++count)+":"+"NO answer");
}else{
System.out.println("Case"+(++count)+":"+num);
} }
}
private static int hanxin(int a,int b,int c) {
for (int i = 10; i <=100; i++) {
if ((i%3==a)&&(i%5==b)&&(i%7==c)) {
return i;
}
}
return -1;
} }