zoukankan      html  css  js  c++  java
  • (HDU)1019 --Least Common Multiple(最小公倍数)

    描述
    一组正整数的最小公倍数(LCM)是可以被集合中所有数字整除的最小正整数。 例如,5,7和15的LCM为105。
    
    输入
    输入将包含多个问题实例。 输入的第一行将包含指明问题实例数量的单个整数。 每个实例将由形式为m n1 n2 n3 ... nm的单行组成,其中m是集合中的整数数目,n1 ... nm是整数。 所有整数将为正,位于32位整数的范围内。
    
    
    输出
    对于每个问题实例,输出包含相应LCM的单行。 所有结果将位于32位整数的范围内。
    
    
    样例输入
    2
    3 5 7 15
    6 4 10296 936 1287 792 1
    样例输出
    105
    10296
    查看问题

    求最小公倍数问题,一个蠢办法是从第一个开始一个个试:

     1 #include <iostream>
     2 #include <cstdio>
     3 
     4 using namespace std;
     5 
     6 int main()
     7 {
     8 
     9     int n,m,a,k;
    10     while(scanf("%d",&n)!=EOF&&n)
    11     {
    12         while(n--)
    13         {
    14             scanf("%d",&m);
    15             int t=1;
    16             while(m--)
    17             {
    18                 int i=2;
    19                 scanf("%d",&a);
    20                 k=a;
    21                 while(a%t!=0)
    22                 {
    23                     a=k*i;
    24                     i++;
    25                 }
    26                 t=a;
    27             }
    28             printf("%d
    ",a);
    29         }
    30     }
    31     return 0;
    32 }
    暴力法

    这题可以找出里面最大的正整数,再进行翻倍找最小公倍数。

     1 #include <iostream>
     2 #include <cstdio>
     3 
     4 using namespace std;
     5 
     6 int main()
     7 {
     8     int t,n,i,num[100010];
     9     while(~scanf("%d",&t)&& t)
    10     {
    11         while(t--)
    12         {
    13         int lcm,max_num=0;
    14         scanf("%d",&n);
    15         for(i=1;i<=n;i++)
    16         {
    17             scanf("%d",&num[i]);
    18             if(num[i]>max_num) max_num=num[i];
    19         }
    20 
    21         lcm=max_num;
    22         for(i=1;i<=n;i++)
    23             while(lcm%num[i]!=0)
    24                 lcm+=max_num;
    25         printf("%d
    ",lcm);
    26         }
    27     }
    28     return 0;
    29 }
    代码(有问题)

    不过这个代码提交似乎会WA,目前原因未知。

  • 相关阅读:
    ubuntu18安装paddle的cpu版本错误
    博客园的推荐150名大牛的地址
    课堂翻译
    小组介绍
    Sunshine小组
    项目进程
    总结
    布置的开发项目
    一周总结
    每周学习
  • 原文地址:https://www.cnblogs.com/ACDoge/p/6125498.html
Copyright © 2011-2022 走看看