设为首页 加入收藏

TOP

UVA654- Ratio(暴力枚举)
2015-07-20 17:53:37 来源: 作者: 【 】 浏览:1
Tags:UVA654- Ratio 暴力 枚举

题目链接


题意:给出两个数n,m,求分母从1-m越来越接近n/m的序列

思路:从1-m枚举分母i,然后维护一个值,使序列越来越靠近n/m。分子j的话,j/i趋近于n/m时,可以得到(int)j=i*n/m+0.5。

代码:

#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #include 
      
        using namespace std; const int INF = 0x3f3f3f; int n, m; int main() { int t = 0; while (scanf("%d%d", &n, &m) != EOF) { if (t) printf("\n"); t = 1; double k = n / (m * 1.0), r = INF; for (int i = 1; i <= m; i++) { int j = i * k + 0.5; double temp = fabs(j / (i * 1.0) - k); if (temp < r) { r = temp; printf("%d/%d\n", j, i); } } } return 0; }
      
     
    
   
  


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇block存储区域――如何验证block.. 下一篇poj 3522 枚举+kruskal

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: