杭电1019 Least Common Multiple(已解决)

以下代码不知道错哪了?

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int m,n;
    int str[100]={0};
    cin>>n;
    while(n--)
    {
      int t,max=0;
      cin>>m;
      for(int i=0;i<m;i++)
      {
        cin>>str[i];
        if(str[i]>max)
          max=str[i];
      }
      t=max;
      for(int i=0;i<m;i++)
      {
        while(max%str[i]!=0)
          max=max+t;
      }
      cout<<max<<endl;  
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}

求高人指点

 

我已经解决了:我觉得只要把事情记在心上,你就会不断的思考,这道题断断续续持续了不到一个月吧!虽然不是天天想,但是,每次想到就会思考一会该如何解决问题哈!

下面的代码是AC的哈!有其他更好的希望指点

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
    int m,n;
    int str[100]={0};
    cin>>n;
    while(n--)
    {
      int i,t,max=0,flag=1;
      cin>>m;
      for(int i=0;i<m;i++)
      {
        cin>>str[i];
        if(str[i]>max)
          max=str[i];
      }
      t=max;
 loop:for( i=0;i<m;i++)
      {
        
        if(max%str[i]!=0)
           {
              max=max+t;   
              i++;
              goto loop;
           }
      }
      
      cout<<max<<endl;  
    }
    system("PAUSE");
    return EXIT_SUCCESS;
}

 

posted @ 2012-08-22 17:03  Marshalkk  阅读(232)  评论(0编辑  收藏  举报