欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

bzoj 1684: [Usaco2005 Oct]Close Encounter【数学(?)】

发布时间:2024/9/5 编程问答 53 豆豆
生活随笔 收集整理的这篇文章主要介绍了 bzoj 1684: [Usaco2005 Oct]Close Encounter【数学(?)】 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

枚举分母,然后离他最近的分子只有两个,分别判断一下能不能用来更新答案即可

#include<iostream> #include<cstdio> #include<cmath> using namespace std; int a,b,aa,ab; double mx=10; void wk(int x,int y) {if(x*b==y*a)return;if(fabs((double)x/y-(double)a/b)<mx){mx=fabs((double)x/y-(double)a/b);aa=x,ab=y;} } int main() {scanf("%d%d",&a,&b);for(int i=1;i<=32767;i++)wk(floor((double)a/b*i),i),wk(floor((double)a/b*i)+1,i);printf("%d %d\n",aa,ab);return 0; }

转载于:https://www.cnblogs.com/lokiii/p/9159405.html

总结

以上是生活随笔为你收集整理的bzoj 1684: [Usaco2005 Oct]Close Encounter【数学(?)】的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。