题意:找到一个最接近于 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; } }