gpt4 book ai didi

c++ - SPOJ :ENIGMATH - PLAY WITH MATH

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:41:58 25 4
gpt4 key购买 nike

为什么我在这个问题上超过了时间限制?链接:http://www.spoj.com/problems/ENIGMATH/

借助两个数的 gcd 很容易计算出 lcm。计算 gcd euclid 的算法被使用。

#include<iostream>
using namespace std;
long long int gcd(long long int a,long long int b)
{
if(b==0)
return a;

else
return gcd(b,a%b);
}
int main()
{
long long int t,a,b,lcm,i=0;
cin>>t;

while(i<t)
{
cin>>a>>b;
if(a==b)
cout<<"1 1\n";

else
{
lcm=(a*b)/gcd(a,b);
cout<<lcm/a<<" "<<lcm/b<<"\n";
}
}
return 0;
}

最佳答案

您没有更新 i在循环中,因此除非您输入负值或零到 t,否则它将陷入无限循环.

尝试通过更改 i<t 来更新它至 i++<t或者您喜欢的其他方式。

关于c++ - SPOJ :ENIGMATH - PLAY WITH MATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37774518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com