• 杭电2028


    #include <cstdlib>
    #include <iostream>

    using namespace
    std;

    int
    main(int argc, char *argv[])
    {

        int
    n;
       
        int
    dividend,max,a[100]={0};
        while
    (cin>>n)
        {

          max=0;
          for
    (int i=0;i<n;i++)
          {

            cin>>a[i];
            if
    (a[i]>max)
              max=a[i];
          }

          dividend=max;
          loop:for(int i=0;i<n;i++)
               {

                 //cout<<"a["<<i<<"]="<<a[i]<<endl;
                 if(dividend%a[i]!=0)
                   {

                     dividend+=max;
                     goto
    loop;
                     //cout<<"dividend="<<dividend<<endl;
                   }
               }

          cout<<dividend<<endl;
        }

        //system("PAUSE");
        return EXIT_SUCCESS;
    }

    此题开始时不知道怎么求多个数的最小公倍数,以前只记得几个数的乘积除以他们的最大公约数就等于他们的最小公倍数,我的思维陷在里面了,后来网上查了一下,才写出上面的算法!脑子要灵活一些!

  • 相关阅读:
    第二阶段冲刺(三)
    第二阶段冲刺(二)
    第二阶段冲刺(一)
    阿里云体验:安装jdk
    知识储备
    wcf服务编程(二)
    wcf服务编程(一)
    操作xml练习
    操作文件简单的方法
    【mongoDB】学习笔记_02
  • 原文地址:https://www.cnblogs.com/gkfeng/p/2614885.html
Copyright © 2020-2023  润新知