比赛 防止浮躁的小练习v0.2 评测结果 AWAWWWWWWW
题目名称 比例简化 最终得分 20
用户昵称 Hzoi_chairman 运行时间 0.002 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2016-10-08 10:45:42
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int read()
{
	int x,f=1;
	char ch;
	while(ch=getchar(),!isdigit(ch))if(ch=='-')f=-1;
	x=ch-48;
	while(ch=getchar(),isdigit(ch))x=x*10+ch-48;
	return x*f;
}
void write(int x)
{
	if(x<0)putchar('-'),x=-x;
	int cnt=0;char ch[50];
	while(ch[++cnt]=x%10+48,x/=10);
	while(putchar(ch[cnt]),--cnt);
	putchar(' ');
}
int gcd(int x,int y)
{
	int z=x%y;
	while(z)
	{
		x=y;y=z;z=x%y;
	}
	return y;
}
int main()
{
	freopen("ratio.in","r",stdin);
	freopen("ratio.out","w",stdout);
	int n=read(),m=read(),l=read(),A,B,ans=0x7f7f7f7f;
	bool f=0;
	if(n<m)swap(n,m),f=1;
	double a=(double)m/n;
	for(int i=1;i<=l;i++)
	{
		int j=i*a;
		double b=(double)i/j;
		if(b-a<ans)
		{
			A=i;
			B=j;
		}
	}
	int G=gcd(A,B);
	if(f)write(B/G),write(A/G);
	else write(A/G),write(B/G);
//	system("pause");
}