[转]http://cupdish.com/2011/08/zoj-1577-gcd-lcm-%E8%A7%A3%E9%A2%98%E6%8A%A5%E5%91%8A/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a,b,x,ans,count;
while(cin >> a >> b)
{
count=0;
if(b%a!=0)
ans=0;
else
{
x=b/a;
ans=1;
for(int i=2;i<=b/a;i++)
if(x%i==0)
{
//cout << i << endl;
count++;
x=x/i;
while(x%i==0)
x=x/i;
}
for(int i=1;i<=count;i++)
ans=ans*2;
}
cout << ans << endl;
}
return 0;
}
本文提供了解决ZOJ 1577 GCD LCM问题的C++代码实现,通过逐步计算最大公约数(GCD)和最小公倍数(LCM),并利用循环和条件判断进行优化。
3629

被折叠的 条评论
为什么被折叠?



