UVA 654 - Ratio(枚举)

2014-11-24 07:22:13 · 作者: · 浏览: 0

Ratio

If>


What>}>

思路:枚举分母,可以由分母求出分子。维护一个p作为接近a/b的最小值。

代码:

#include 
  
   
#include 
   
     #include 
    
      int a, b; int main() { int bo = 0; while (~scanf("%d%d", &a, &b)) { if(bo) printf("\n"); else bo = 1; double ab = a * 1.0 / b, p = 1.0; for (int i = 1; i <= b; i++) { int t = (int)(a * 1.0 / b * i + 0.5); if (fabs(t * 1.0 / i - ab) < p) { printf("%d/%d\n", t, i); p = fabs(t * 1.0 / i - ab); } if (t * b == i * a) break; } } return 0; }