View Code of Problem 102

#include<stdio.h>
int maxgys(int x,int y)
{
	int z;
	while(y!=0)
	{
		z=x%y;
		x=y;
		y=z;
	}
	return x;
}
int main()
{
	int x,y;
	while(scanf("%d %d",&x,&y)!=EOF)
    {
    	if(x>y)
    	{
    		int t=y;
    		y=x;
    		x=t;
		}
		int i,j;
		int cnt=0;
		for(i=x;i<=y;i++)
		{
			if(y%i==0)
			{
			  for(j=y;j>=x;j--)
			  {
				if(maxgys(j,i)==x&&y%j==0)//x为最大公约数且y为公倍数 
				{
					if((i*j)/x==y)//y为最小公倍数 
					{
						cnt++;
						break;
					 } 
					
				}
			 }
		    }
		}
		printf("%d\n",cnt);
	}
} 

Double click to view unformatted code.


Back to problem 102