zoukankan      html  css  js  c++  java
  • HDU-ACM课堂作业 Least Common Multiple

    Least Common Multiple

    Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
    Total Submission(s) : 178   Accepted Submission(s) : 38
    Problem Description
    The least common multiple (LCM) of a set of positive integers is the smallest positive integer which is divisible by all the numbers in the set. For example, the LCM of 5, 7 and 15 is 105.<br><br>
     
    Input
    Input will consist of multiple problem instances. The first line of the input will contain a single integer indicating the number of problem instances. Each instance will consist of a single line of the form m n1 n2 n3 ... nm where m is the number of integers in the set and n1 ... nm are the integers. All integers will be positive and lie within the range of a 32-bit integer.<br>
     
    Output
    For each problem instance, output a single line containing the corresponding LCM. All results will lie in the range of a 32-bit integer.<br>
     
     
    Sample Input
    2 3 5 7 15 6 4 10296 936 1287 792 1
     
    Sample Output
    105 10296
     
    Source
    East Central North America 2003, Practice
     
    这里INT-32类型的变量直接用int就可以啦
     
    
    
    #include<iostream>
    #include<stdio.h>
    #include<algorithm> 
    #include<string.h>
    #include <iomanip>
    #include<math.h>
    using namespace std;
    
    int GCD(int num1, int num2)
    {
        if (num1%num2 == 0)
            return num2;
        else return  GCD(num2, num1%num2);
    }
    int LCM(int a, int b)
    {
        int temp_lcm;
        temp_lcm = a / GCD(a, b)*b; //先除后乘,否则数据溢出导致WA
        return temp_lcm;
    }
    
    int main() {
        //数据组数
        int n = 0;
        while (cin >> n) {
            while (n--) {
                //变量数
                int k = 0;
                cin >> k;
                //将变量初始化
                int b = 0;
                int lcm, a = 1;
                for (int i = 0; i < k; i++) {
                    //将每次输入的变量设置为b,计算a与b的LCM,随后将LCM赋值给a
                    cin >> b;
                    lcm = LCM(a, b);
                    a = lcm;
                }
                cout << lcm << endl;
            }
        }
    }
    
    
    
    
    
  • 相关阅读:
    【idea】批量修改文件的换行类型
    【shell】for循环执行sql语句
    【gitlab】创建token供外部git clone
    【idea】修改git源
    【浏览器】 NET::ERR_CERT_INVALID
    mac os 11 Big Sur 根目录无法写入解决办法
    dbeaver把表数据导出csv时字符串自动加双引号问题解决
    spring boot2 jpa分页查询百万级数据内存泄漏
    win10安装MAT并单独配置jdk11
    Transaction silently rolled back because it has been marked as rollback-only
  • 原文地址:https://www.cnblogs.com/DaiShuSs/p/9690464.html
Copyright © 2011-2022 走看看