poj 3039

题意:找到一个最接近于 input分式 的分式
思路:分母从 1 到 62767 一次枚举,用 min 记录 原分式的值 与 当前考察分式 的 差值
(刚开始自己想得很简单,题目也没看清。花了很多时间和精力,几乎想放弃了。最终得到同学的提示,才弄出来的。)
 
min = 1.0;
tz = -1;
tm = -1;
t = z/m;
for(i=1; i<=32767; i++)
{
	x = ceil(z*i/m);
	if( (temp=fabs(x/i - t)) < min && temp > 1e-12 )
	{
		min = temp;
		tz = x;
		tm = i;
	}
	x--;
	if( (temp=fabs(x/i - t)) < min && temp > 1e-12 )
	{
		min = temp;
		tz = x;
		tm = i;
	}
}
posted @ 2010-05-11 22:48  SubmarineX  阅读(263)  评论(0编辑  收藏  举报