zoukankan      html  css  js  c++  java
  • 2013年CSUST新生训练赛第一场【未完待续】

    第一场题目:点击打开链接

    A-

    B-

    C-

    D-

    E - Lowest Common Multiple Plus hdu

    Lowest Common Multiple Plus

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 23786    Accepted Submission(s): 9649


    Problem Description
    求n个数的最小公倍数。
     

    Input
    输入包含多个测试实例,每个测试实例的开始是一个正整数n,然后是n个正整数。
     

    Output
    为每组测试数据输出它们的最小公倍数,每个测试实例的输出占一行。你可以假设最后的输出是一个32位的整数。
     

    Sample Input
    2 4 6 3 2 5 7
     

    Sample Output
    12 70
     

    思路:依次调用lcm函数求最小公倍数即可。

    注意:两个32位以内的数相乘可能会超32位,原始的lcm函数中的 a*b / gcd(a, b) ,应改为 a / gcd (a, b) * b.这里容易WA掉。

    //Accepted	248 KB	0 ms	G++
    #include<cstdio>
    
    int gcd(int a, int b) /* 返回最大公约数 */
    {
        return b == 0 ? a : gcd(b, a%b);
    }
    
    int lcm(int a, int b) /* 返回最小公倍数 */
    {
        return a/gcd(a, b)*b; /*注意:直接 a*b 会超 32位 , 此处易WA */
    }
    
    int main()
    {
        int n;
        while(scanf("%d", &n) != EOF)
        {
            int ans = 1, a;
            while(n--)
            {
                scanf("%d", &a);
                ans = lcm(ans, a);
            }
            printf("%d\n", ans);
    
        }
        return 0;
    }
    


    F - 今年暑假不AC hdu 2037 题解

    G-


  • 相关阅读:
    基于NodeJS的全栈式开发
    Android 反编译apk 详解
    AngularJS 中文资料+工具+库+Demo 大搜集
    Mongodb集群搭建的三种方式
    Ubuntu下解决bash 没有那个文件或目录的方法
    ubuntu12.04 安装配置jdk1.7
    CentOS怎样查看系统信息
    Ubuntu 安装 Redis
    Redis快速入门
    js去掉双引号
  • 原文地址:https://www.cnblogs.com/freezhan/p/2974228.html
Copyright © 2011-2022 走看看