hdu 求n个数的最小公倍数

来源:互联网 发布:top域名不需要备案 编辑:程序博客网 时间:2024/04/27 17:48
 #include<iostream>
using namespace std;
int main()
{
 int i,j,n,a[100],max,bei,k;
 while(cin>>n)
 {      
  if(n==0)break;
  max=0;
  for(i=0;i<n;i++) 
  {        
   cin>>a[i];
            if(a[i]>max)
    max=a[i];         
          }  
  bei=max; 
  do   
  {     
   k=0;
   for(j=0;j<n;j++)
    if(bei%a[j]!=0) 
     k=1;    
    if(k)   
     bei+=max;   
         }while(k);
  cout<<bei<<endl;
 }
 return 0;
}
 
 
#include<stdio.h>
int main()
{
 int n,i,j,s[100],max,t;
 while(scanf("%d",&n)!=EOF)
 {
  if(n==0)
   break;
  for(i=0;i<n;i++)
   scanf("%d",&s[i]);
  for(i=0;i<n-1;i++)
  {
   for(j=0;j<n-i-1;j++)
    if(s[j]>s[j+1])
    {
     t=s[j];
     s[j]=s[j+1];
     s[j+1]=t;
    }
  }
  max=s[n-1];
  for(i=n-2;i>=0;i--)
   if(max%s[i]!=0)
   {
    max+=s[n-1];
    i=n-1;
   }
  printf("%d\n",max);
 }
 return 0;
}
 
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int s[102],n,i,max;
    while(cin>>n)
 {
  if(n==0)break;
        for(i=0;i<n;i++)
            cin>>s[i];
        sort(&s[0],&s[n]);
        max=s[n-1];
        for(i=n-2; i>=0;i--)
  {
            if(max%s[i]!=0)
   {
                max+=s[n-1];
                i=n-1;
            }
        }
        cout<<max<<endl;
    }
    return 0;
}
原创粉丝点击