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

    问题描述

    小张是软件项目经理,他带领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
     
     
    我的答案
     1 #include<iostream>
     2 using namespace std;
     3 int max(int a,int b){
     4     return a>b?a:b;
     5 }
     6 int main(){
     7     int n1,n2,n3,result,get;
     8     cin>>n1>>n2>>n3;
     9     int maxmum1=max(n1,n2);
    10     for(int i=maxmum1;;i++){
    11         if(i%n1==0&&i%n2==0){
    12             get=i;
    13             break;
    14         }
    15     }
    16     int maxmum2=max(get,n3);
    17     for(int i=maxmum2;;i++){
    18         if(i%get==0&&i%n3==0){
    19             result=i;
    20             break;
    21         }
    22     }
    23     cout<<result;
    24     return 0;
    25 }
    26  

    思路:此问题目的是计算三个数的最小公倍数。我先计算前两个数的最小公倍数get,再计算get和第三个数的最小公倍数result,result就是最终结果。

    优点:由于两个数的最大公因数一定大于等于这两个数中最大的数,这样我们就可以不从一开始查找,直接从两个数的最大值开始查找。

     
  • 相关阅读:
    BFPRT(中位数的中位数算法)
    View的事件体系
    Android的消息机制
    BInder机制总结
    Service总结
    IPC机制总结
    AIDL使用绑定启动远程Service出现Service Intent must be explicit: Intent
    线程协作与并发流程控制&AQS
    TCP相关问题整理
    USACO 2015 US OPEN Gold T3: Trapped in the Haybales
  • 原文地址:https://www.cnblogs.com/qq1337822982/p/8448598.html
Copyright © 2011-2022 走看看