题解(A78.最大公约数和最小公倍数问)
2024-09-05 15:23:36
发布于:四川
3阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
long long x,y;
long long gcd(long long a,long long b)
{
return b? gcd(b,a%b):a;
}
bool vis[100005]={0};
long long lcm(int a,int b)
{
return ab/gcd(a,b);
}
int main()
{
cin>>x>>y;
long long i,j;
long long z=xy;
long long ans=0;
for(i=x;i<=y;i++)//i是a
{
if(z%i==0)
{
if(gcd(i,z/i)x&&lcm(i,z/i)y)
{
if(iz/i)
{
cout<<ans2+1;
return 0;
}
if(vis[i])
{
cout<<ans2;
return 0;
}
else
{
ans++;
vis[i]=vis[z/i]=1;
}
}
}
}
if(ans0)cout<<0;
return 0;
}
这里空空如也
有帮助,赞一个