Problem - 2225

  一道简单数学题,要求求出一个分母不超过m的最接近sqrt(n)的分数。

  做法就是暴力枚举,注意中间过程不能用浮点数比较,误差要求比较高。

代码如下:

 #include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <cmath> using namespace std; typedef long long LL;
template<class T> T sqr(T x) { return x * x;}
template<class T> T gcd(T a, T b) { return b ? gcd(b, a % b) : a;} int main() {
LL n, m;
while (cin >> n >> m) {
LL bx = , by = ;
// long double r = sqrt((long double) n);
// cout << r << endl;
for (LL i = ; i <= m; i++) {
LL t = (int) sqrt((double) sqr(i) * n);
for (int d = ; d < ; d++) {
// if (fabs((long double) (t + d) / i - r) < fabs((long double) bx / by - r)) {
// bx = t + d, by = i;
// }
if (abs(sqr(t + d) * sqr(by) - n * sqr(by) * sqr(i)) < abs(sqr(bx) * sqr(i) - n * sqr(by) * sqr(i))) bx = t + d, by = i;
}
}
LL GCD = gcd(bx, by);
cout << bx / GCD << "/" << by / GCD << endl;
}
return ;
}

——written by Lyon

最新文章

  1. AC日记——二叉树最大宽度和高度 1501 codevs
  2. Dojo注意
  3. LoadRunner 12 发布,主推云
  4. 删除src值为空的img标签
  5. swift NSUserDefaults的基本使用
  6. JavaScript js 精确、保留小数方法
  7. MHA参数 转
  8. JQuery事件与应用(一)
  9. html笔记 仅适用于个人
  10. HDU 1677
  11. textLayout在快速输入清除时报错解决方法
  12. HAPROXY实习
  13. Ajax 技术原理(转)
  14. SQL Server审计功能入门:CDC(Change Data Capture)
  15. 妙味课堂:JavaScript初级--第12课:json与数组
  16. 【模板小程序】循环方阵构造(仿《剑指offer》循环矩阵打印)
  17. 修改MariaDB 路径
  18. nodejs之querystring(查询字符串)
  19. 我的java学习之旅--一些基础
  20. 04 Zabbix核心概念回顾

热门文章

  1. 关系数据库理论 ch.6
  2. Python科学计算生态圈--Pandas
  3. SPFA(Bellman-Ford队列优化)
  4. 计蒜客 Prefix Free Code(字典树+树状数组)
  5. 跟我一起使用webpack给一个开源项目添加一个运行入口
  6. leetcode 235-290 easy
  7. 定位真机运行能用但是打包成apk就不能用的解决方法
  8. Hdu 3068 最长回文字串Manacher算法
  9. Spring_Hibernate
  10. 为什么DW的可视化下看到的效果与浏览器的效果有所区别?