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

    ===============================================

    分析

    • 相当于 输入abc三个数字,找出abc的最小公倍数
    • 判断是否互质,并返回最小公倍数
    • 不互质,那么就会有一个公约数。找到最大公约数y。a*b/(y)=最小公倍数

    代码

    #include <iostream>
    #include <math.h>
    using namespace std;
    //判断是否互质,并返回最小公倍数
    //不互质,那么就会有一个公约数。找到最大公约数y。a*b/(y)=最小公倍数
    
    int getRes(int a,int b)
    {
        int y=1;//初始最大公约数为1
        for(int i=1; i<=a; i++)
        {
            if(a%i==0&&b%i==0)
            {
                if(i>y)
                    y=i;
            }
        }
        return a*b/y;//返回最小公倍数
    }
    
    int main()
    {
        int a,b,c;
        cin>>a>>b>>c;
    
        int x1=getRes(a,b);//得到a b的最小公倍数x1
        int num=getRes(x1,c);//得到x1和num的最小公倍数
        cout<<num;
    }
    
  • 相关阅读:
    Pytest --快速入门和基础讲解
    Python并发编程(一):多进程(理论篇)
    【面试出题】三数之和
    python 基础:迭代器、生成器
    python垃圾回收机制
    50道Python面试题集锦
    Web自动化测试框架改进
    linux 三剑客
    函数的参数
    生成器
  • 原文地址:https://www.cnblogs.com/simuhunluo/p/8653261.html
Copyright © 2011-2022 走看看