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;

	}

}

你可能感兴趣的:(poj)