1.【题目描述】
【题目描述】
二个正整数x0,y0(2≤x0≤100000,2≤y0≤1000000),求满足下列条件的P,Q的个数。
条件:
1.P,Q是正整数;
2.要求P,Q以x0为最大公约数,以y0为最小公倍数。
试求:满足条件的所有可能的两个正整数的个数。
【输入】
输入x0和y0
【输出】
满足条件的所有可能的两个正整数的个数
【输入样例】
3 60
【输出样例】
4
【提示】
样例说明:此时的P Q分别为:
3 60
15 12
12 15
60 3
2.【代码】
#include<bits/stdc++.h>
using namespace std;
int fun(int a,int b)
{
for(int i=a;i>=1;i--)
if(a%i==0&&b%i==0)
return i;
}
int fun1(int a,int b)
{
for(int i=a;i<=a*b;i++)
if(i%a==0&&i%b==0)
return i;
}
int main()
{
int a,b,s=0;
cin>>a>>b;
for(int i=a;i<=b;i++)
{
if(i%a!=0||b%i!=0)
continue;
for(int k=a;k<=b;k++)
{
if(k%a!=0||b%k!=0)
continue;
if(fun(i,k)==a&&fun1(i,k)==b)
{
s++;
}
}
}
cout<<s;
return 0;
}
仅供参考!