题目描述
【题目描述】
二个正整数x0,y0(2≤x0≤100000,2≤y0≤1000000),求满足下列条件的P,Q的个数。
条件:
1.P,Q是正整数;
2.要求P,Q以x0为最大公约数,以y0为最小公倍数。
试求:满足条件的所有可能的两个正整数的个数。
【输入】
输入x0和y0
【输出】
满足条件的所有可能的两个正整数的个数
样例
【输入样例】
3 60
【输出样例】
4
一篇2001年的CSP普及组题解(最大公约数和最小公约数,有些复杂,需要调用函数)
C++ 代码
#include<iostream>
using namespace std;
int func(int i,int j)
{
if(j==0)
return i;
else return func(j,i%j);
}
int main()
{
int n,m,temp=0;
cin>>n>>m;
for(int i=n;i<=m;i++)
{
if(n*m%i==0 && func(i,n*m/i)==n)
temp++;
}
cout<<temp;
}
%%%
你觉得如何?
对你有帮助吗?