码迷,mamicode.com
首页 > 其他好文 > 详细

习题6 韩信点兵

时间:2017-09-14 10:48:36      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:stat   直接   str   定义   imp   跳出循环   rgs   port   利用   

题目如下

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

样例输入

2 1 6

样例输出

41

 

首先此处为实现在控制器输入参数进行输出,引用scanner

import java.util.Scanner;

public class Hanxindianbing {

    public static void main(String[] args){
        
    }
}

将scanner实例化,

import java.util.Scanner;

public class Hanxindianbing {

    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        int a=scanner.nextInt();
        int b=scanner.nextInt();
        int c=scanner.nextInt();
        
    }
}

如题,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼队伍的排尾就知道总人数了。

也就是说总人数%3=a 且 总人数%5=b 且 总人数%7=c;

定义总人数为sum (int sum) 且总人数不小于10人,不超过100人。

接下来利用一层for循环来判断

import java.util.Scanner;

public class Hanxindianbing {

    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        int a=scanner.nextInt();
        int b=scanner.nextInt();
        int c=scanner.nextInt();
        for(int sum=10;sum<=100;sum++){
            if(sum%3==a && sum%5==b && sum%7==c){
                
            }
        }
    }
}

下面输出,题目中还提到,输出总人数的最小值,那么我的方法是输出一次之后就跳出循环。

import java.util.Scanner;

public class Hanxindianbing {

    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        int a=scanner.nextInt();
        int b=scanner.nextInt();
        int c=scanner.nextInt();
        for(int sum=10;sum<=100;sum++){
            if(sum%3==a && sum%5==b && sum%7==c){
                System.out.println(sum);break;
            }
        }
    }
}

在控制台输入2、1、6

结果

技术分享

习题6 韩信点兵

标签:stat   直接   str   定义   imp   跳出循环   rgs   port   利用   

原文地址:http://www.cnblogs.com/FrankLiner/p/7517763.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!