C++ 已成功执行,但在codechef上上载时超出了时间限制

C++ 已成功执行,但在codechef上上载时超出了时间限制,c++,C++,我已经写了一个代码来查找该数字的GCD和LCM,但每当我在codechef上提交时,它都会说超出了时间限制。如何成功提交 #include <iostream> using namespace std; int main() { int long long n1, n2, hcf,lcm,tc; cin>>tc; while(tc--){ cin >>n1>>n2; if ( n2 > n1) { int temp = n2

我已经写了一个代码来查找该数字的GCD和LCM,但每当我在codechef上提交时,它都会说超出了时间限制。如何成功提交

#include <iostream>
using namespace std;

int main() {

int long long n1, n2, hcf,lcm,tc;
cin>>tc;
while(tc--){
cin >>n1>>n2;
if ( n2 > n1) {   
    int temp = n2;
    n2 = n1;
    n1 = temp;
}
for (int i = 1; i <=  n2; ++i) {
    if (n1 % i == 0 && n2 % i ==0) {
        hcf = i;
        lcm = (n1*n2)/hcf;
    }
}
cout<<hcf<<" "<<lcm;    
}
return 0;
}

如果n是一个非常大的数字,则int i=1;我认为这是一场比赛,所以它似乎没有在精神上给你太多的帮助。但是,问题是你的算法效率低下,而且花费的时间比网站允许的时间长,他们可能会用大量的数据进行测试。在wikipedia中查找GCD算法,然后重试。由于代码有效,请尝试在上发布。
unsigned int  n2 = 4294966296;
for (unsigned int i = 1; i <=  n2; ++i)
{
    int a = i % 10;
}

std::cout<<"its done";