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

    一.题目

    题目链接
    http://lx.lanqiao.cn/problem.page?gpid=T24
    问题描述

    小张是软件项目经理,他带领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

    二.解决

    算法:gcd()算法求最小公倍数
    思路:gcd()得到a,b的最大公因子,则a,b的最小公倍数为:a*b/gcd(a,b)
    要得到a,b,c最小公倍数:先得到a,b的最小公倍数记为t,然后a,b,c的最小公倍数为:t*c/gcd(t,c)
    代码:
    #include<bits/stdc++.h>
    using namespace std;
    //求a,b,c最小公倍数
    int gcd(int a,int b){
        if(b==0) return a;
        else return gcd(b,a%b);
    }
    int main(){
        int a,b,c;
        cin>>a>>b>>c;
        int t=(a*b)/(gcd(a,b));
        int ans=(t*c)/gcd(t,c);
        cout<<ans<<endl;
    } 
  • 相关阅读:
    统计数据持久化
    缓存层的实现
    C++语法疑点
    为什么需要定义虚的析构函数?
    C++ shared_ptr deleter的实现
    条件变量
    ubuntu  输入时弹出剪切板候选项
    leetcode Bitwise AND of Numbers Range
    C/C++ 字符串 null terminal
    C++ inline weak symbol and so on
  • 原文地址:https://www.cnblogs.com/Aiahtwo/p/12763219.html
Copyright © 2011-2022 走看看