bzoj 1684: [Usaco2005 Oct]Close Encounter【数学(?)】
生活随笔
收集整理的這篇文章主要介紹了
bzoj 1684: [Usaco2005 Oct]Close Encounter【数学(?)】
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
枚舉分母,然后離他最近的分子只有兩個,分別判斷一下能不能用來更新答案即可
#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; }轉(zhuǎn)載于:https://www.cnblogs.com/lokiii/p/9159405.html
總結
以上是生活随笔為你收集整理的bzoj 1684: [Usaco2005 Oct]Close Encounter【数学(?)】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: vscode去除控制台ES6报错
- 下一篇: HTML——meta