zzuli1507最大公约数和最小公倍数

来源:互联网 发布:夏日走过山间 知乎 编辑:程序博客网 时间:2024/06/06 03:29
#include <stdio.h>
#include <math.h>


int hz(int a,int b)//互质则最大公约数为1
{
int temp;
while(b!=0)//辗转相除法求最大公约数
{
temp=b;
b=a%b;
a=temp;
}
if(a==1)
return 1;
else
return 0;
}


int main()
{
int x0,y0;
while(scanf("%d%d",&x0,&y0),x0!=0||y0!=0)
{
int i,j,num=0;
for(i=x0;i<=y0;i+=x0)//寻找P、Q  
{
j=x0*y0/i;
if(i*j==x0*y0&&j%x0==0)//这两个数的乘积等于他们最大公约数与最小公倍数的乘积
{
if(hz(i/x0,j/x0))//如果i/x0、j/x0互质
num++;

}
printf("%d\n",num);
}
return 0;
}


/*
3 60 
15 12 
12 15 
60 3 
*/
原创粉丝点击