杭电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; }