题意; 求接近规定 分数 的 最大分数
用到 farey 数列的第二条性质
1 #include <iostream>
#include<stdio.h>
using namespace std;
/**
|a/b-c/d|最小, 同分的|(ad-bc)/bd| 最小,,即求
|ax-by| 最小
若a,b 有公约数则同分即可。。最小为0
若a,b无公约数,即a,b互质,即求ax-by=1或 -ax+by = 1
此时需要注意 若a==1 求解释x=1,y=0.。。所以当a=1时需要特殊处理
若a!=1 时,,就需要对上面的两个式子ax-by=1或 -ax+by = 1判断,找出最接近的解,即比较分母大的即可 */
long long ex_gcd(long long a,long long b,long long &x, long long &y){
if(b==){
x =;
y =;
return a;
}
long long d = ex_gcd(b,a%b,x,y);
long long temp = x;
x = y;
y = temp - a/b * y;
return d ;
} int main()
{
int t;
cin>>t;
long long a,b,x,y,gcd,d1,d2,c1,c2;
char c;
while(t--){
cin>>a>>c>>b;
gcd = ex_gcd(a,b,x,y);
if(gcd!=){
cout<<a/gcd<<"/"<<b/gcd<<endl;
}else if(a==){
cout<<<<"/"<<b-<<endl;
}else{
// d2 = ex_gcd(b,a,y2,x2);
d1 = (x+b)%b;
d2 = (-x+b)%b;
c1 = (-y+a)%a;
c2 = (y+a)%a;
// cout<<c1<<" "<<c2<<endl;
// cout<<d1<<" "<<d2<<endl;
if(d1>d2)
cout<<c1<<"/"<<d1<<endl;
else
cout<<c2<<"/"<<d2<<endl; }
}
return ;
}

hdu 4180的更多相关文章

  1. HDU 4180 扩展欧几里得

    RealPhobia Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  2. HDU 5643 King's Game 打表

    King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...

  3. HDU 1568 Fibonacci【求斐波那契数的前4位/递推式】

    Fibonacci Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Proble ...

  4. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  5. 【HDU 3037】Saving Beans Lucas定理模板

    http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...

  6. hdu 4859 海岸线 Bestcoder Round 1

    http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...

  7. HDU 4569 Special equations(取模)

    Special equations Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u S ...

  8. HDU 4006The kth great number(K大数 +小顶堆)

    The kth great number Time Limit:1000MS     Memory Limit:65768KB     64bit IO Format:%I64d & %I64 ...

  9. HDU 1796How many integers can you find(容斥原理)

    How many integers can you find Time Limit:5000MS     Memory Limit:32768KB     64bit IO Format:%I64d ...

随机推荐

  1. cocos2dx CCControlSlider

    有的同学建议先上图,好吧,先上效果图 再看代码,创建了两个CCControlSlider在主窗口中 // on "init" you need to initialize your ...

  2. How to get the xpath by clicking an html element

    How to get the xpath by clicking an html element How to get the xpath by clicking an html element

  3. thoughtbot/capybara-webkit

    thoughtbot/capybara-webkit A capybara driver that uses WebKit via QtWebKit. Qt Dependency and Instal ...

  4. php操作xml详解

    XML是一种流行的半结构化文件格式,以一种类似数据库的格式存储数据.在实际应用中,一些简单的.安全性较低的数据往往使用 XML文件的格式进行存储.这样做的好处一方面可以通过减少与数据库的交互性操作提高 ...

  5. android开发_SimpleAdapter适配器

    android开发_SimpleAdapter适配器   新建项目: 项目结构: drawable-hdpi文件夹中的图片是自己加入的.主要是在菜单选项中显示的图片: 运行效果: 代码部分: main ...

  6. 微信jsapi支付的坑

    1.显示 redirect_uri 参数错误  因为手机支付是需要微信授权的,所以检查配置授权域名地址是否正确填写(登陆微信公众平台,地址:https://mp.weixin.qq.com/cgi-b ...

  7. 浅谈Servlet(三)

    一.三种作用域 作用域:web开发中用于存储和获得数据. 1.request 一次请求有效,在forward跳转时可用request作用域传递数据. 2.session client不变,sessio ...

  8. Linux内核学习笔记-2.进程管理

    原创文章,转载请注明:Linux内核学习笔记-2.进程管理) By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

  9. C# 中带@字符串中的转义符号

    C#转义字符 c#里 @ 表示的是:1.在C#中,"c:\\temp"表示路径是c:\temp; 而@"c:\temp"就表示c:\temp; 所以,@的作用就 ...

  10. .NET study collection links

    Parameter Binding in ASP.NET Web API http://www.asp.net/web-api/overview/formats-and-model-binding/p ...