韩信点兵
- 描述
- 相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100 。
- 输入
- 输入3个非负整数a,b,c ,表示每种队形排尾的人数(a<3,b<5,c<7)。例如,输入:2 4 5
- 输出
- 输出总人数的最小值(或报告无解,即输出No answer)。实例,输出:89
- 样例输入
-
2 1 6
- 样例输出
-
41
1,C语言
#include<stdio.h>
int main()
{
int i,a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
for(i = 1; i <= 100 ;i++)
{
if((i-a)%3==0&&(i-b)%5==0&&(i-c)%7==0)
{
d=i;
break;
}
}
if(d<10)
printf("NO answer");
else
printf("%d\n",d);
return 0;
}
2,C++
#include<iostream>
using namespace std;
int main()
{
int a,b,c,i,d;
cin>>a>>b>>c;
for(i=1;i<=100; i++)
{
if((i-a)%3==0&&(i-b)%5==0&&(i-c)%7==0)
{
d=i;
break;
}
}
if(d<10)
cout<<"No answer"<<endl;
else
cout<<d<<endl;
return 0;
}
3,JAVA
package a;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
int a,b,c,d = 0;
System.out.println("请输入三个数:");
Scanner sc=new Scanner(System.in);
a=sc.nextInt();
b=sc.nextInt();
c=sc.nextInt();
for(int i=1;i<=100;i++)
{
if((i-a)%3==0&&(i-b)%5==0&&(i-c)%7==0)
{
d=i;
break;
}
}
if(d<10)
System.out.println("No answer");
else
System.out.printf("%d",d);
}
}
4,Python
a=int(input())
b=int(input())
c=int(input())
for i in range(1,100):
if((i-a)%3==0and(i-b)%5==0and(i-c)%7==0):
d=i
break
if d<10:
print("No answer")
else:
print (d)