#include<bits/stdc++.h>
using namespace std;
long x,y,p,q,i,s;
int hz(long p,long q)
{
long j;
for(j=2;j<=p;j++)
if(p%j==0&&q%j==0)
return 0;
return 1;
}
int main()
{
while(cin>>x>>y)
{
if(y%x!=0)
cout<<0<<endl;
else if(y==x) cout<<1<<endl;
else
{
s=0;
i=y/x;
for(p=1;p<=i;p++)
for(q=1;q<=i;q++)
if((p*q==y/x)&&hz(p,q))
s++;
cout<<s<<endl;
}
}
return 0;
}
using namespace std;
long x,y,p,q,i,s;
int hz(long p,long q)
{
long j;
for(j=2;j<=p;j++)
if(p%j==0&&q%j==0)
return 0;
return 1;
}
int main()
{
while(cin>>x>>y)
{
if(y%x!=0)
cout<<0<<endl;
else if(y==x) cout<<1<<endl;
else
{
s=0;
i=y/x;
for(p=1;p<=i;p++)
for(q=1;q<=i;q++)
if((p*q==y/x)&&hz(p,q))
s++;
cout<<s<<endl;
}
}
return 0;
}
本文分享了一段C++代码,用于计算特定条件下y/x的所有互质因子对的数量。如果y不能被x整除,则输出0;如果y等于x,则输出1;否则,程序将找出所有乘积等于y/x且互为质数的因子对,并返回这些对的数量。
325

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



