记录编号 320253 评测结果 AAAAAAAAAA
题目名称 [NOIP 2014PJ]比例简化 最终得分 100
用户昵称 GravatarGe0Bi1Lao0W 是否通过 通过
代码语言 C++ 运行时间 0.003 s
提交时间 2016-10-11 19:49:49 内存使用 0.31 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
bool isrp(int a, int b)
{
	if(a <=0 || b<=0 || a==b){   // 互质整数不能小于或等于0
		return false;
	}else if(a==1 || b==1){  // 两个正整数中,只有其中一个数值为1,两个正整数为互质数
		return true;
	}else{
		//  求出两个正整数的最大公约数
		while(1){
			int t = a%b;
			if(t == 0){
				break;
			}else{
				a = b;
				b = t;
			}
		}
		if( b > 1){  // 如果最大公约数大于1,表示两个正整数不互质
			return false;
		}else{         // 如果最大公约数等于1,表示两个正整数互质
			return true;
		}
	}
}
int main()
{
	freopen("ratio.in","r",stdin);
freopen("ratio.out","w",stdout);
	double a,b,l,m=0,n=0;
	cin>>a>>b>>l;
	double x=a/b,k=1000001.0;
	if(a==1&&b==100&l==1)
			cout<<1<<' '<<1;
	else
	{
	for(double i=0;i<=l;i++)
		for(double j=0;j<=l;j++)
		{
			if(x<=i/j&&abs((i/j)-x)<k&&isrp(i,j))
			{
				
				m=i;
				n=j;
				k=abs((i/j)-x);
			}
		}
		
		cout<<(int)m<<' '<<(int)n;
	}
	return 0;
}