zoukankan      html  css  js  c++  java
  • 蓝桥杯历届试题--核桃的数量

    问题描述

    小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:

    1. 各组的核桃数量必须相同

    2. 各组内必须能平分核桃(当然是不能打碎的)

    3. 尽量提供满足1,2条件的最小数量(节约闹革命嘛)

    输入格式
    输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30)
    输出格式
    输出一个正整数,表示每袋核桃的数量。
    样例输入1
    2 4 5
    样例输出1
    20
    样例输入2
    3 1 1
    样例输出2
    3
     
     
    package rumen;
    
    import java.util.Scanner;
    
    public class Main {
    
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            
            int num1 = input.nextInt();
            int num2 = input.nextInt();
            int num3 = input.nextInt();
            
            int result = solution(num1,num2,num3);
            System.out.println(result);
            
            
        }
    
        private static int solution(int num1, int num2, int num3) {
            
            return lcm(num1,num2,num3);
        }
        
         public static int gcd(int a, int b, int c) { 
                return gcd(gcd(a, b), c);
            }
    
            public static int gcd(int a, int b) { 
                if (a == 0) {
                    return b;
                } else {
                    while (b != 0) {
                        if (a > b) {
                            a = a - b;
                        } else {
                            b = b - a;
                        }
                    }
                    return a;
                }
            }
    
            public static int lcm(int a, int b) { 
                return a * b / gcd(a, b);
            }
            
            public static int lcm(int a,int b,int c){
                return (a * b / gcd(a, b) *c)/gcd(gcd(a,b), c);
            }
        
    }

    上述代码没有通过判断

    网上看的代码:

    import java.util.Scanner;

    public class Main {
        public static void main(String args[]){
            Scanner cin = new Scanner(System.in);
            int a =cin.nextInt(),b=cin.nextInt(),c=cin.nextInt();
            int max;
            if(a<b)max=b;else max=a;
            if(max<c)max=c;
            for(int i=max ; i<=a*b*c;i++)
                if(i%a==0&&i%b==0&&i%c==0){max=i;break;}
            System.out.println(max);
        }
            
    }

  • 相关阅读:
    经典算法系列二-归并排序
    经典算法系列一-快速排序
    u-boot,linux,文件系统移植笔记1
    ARM函数调用时参数传递规则
    内核移植 nand分区
    LINUX的patch文件打patch
    idea插件使用
    socket通信同步通信,异步通信
    今天学了一个很简易的测试数据库是否连接成功
    wpf中TreeView的使用
  • 原文地址:https://www.cnblogs.com/airycode/p/5305604.html
Copyright © 2011-2022 走看看