View Code of Problem 3836

#include<stdio.h>
#include<math.h>
int ishuzhi(int a,int b)
{
	for(int i=2;i<a;i++)
	{
		if(a%i==0&&b%i==0)
		return 0;
	}
	return 1;
}
int main()
{
	int n,m,c,d;
	int a=1000000,b=1000000;
	scanf("%d %d",&n,&m);
	int sum=m/n;
	int min=a+b;
	for(int i=1;i<=sum;i++)
	{
		if(sum%i==0)
		{
			if(ishuzhi(i,sum/i)==1)
			{
				c=i*n;d=sum/i*n;
			}
		}
		else continue; 
		if((c+d)<min)
		a=c;b=d;
	}
	if(a>b)
	{
		int x=b;b=a;a=x;
	}
	
	printf("%d %d\n",a,b);	
} 

Double click to view unformatted code.


Back to problem 3836