hdu 4180
题意; 求接近规定 分数 的 最大分数
用到 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的更多相关文章
- HDU 4180 扩展欧几里得
RealPhobia Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- HDU 5643 King's Game 打表
King's Game 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=5643 Description In order to remember hi ...
- HDU 1568 Fibonacci【求斐波那契数的前4位/递推式】
Fibonacci Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Proble ...
- HDOJ 2111. Saving HDU 贪心 结构体排序
Saving HDU Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【HDU 3037】Saving Beans Lucas定理模板
http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...
- hdu 4859 海岸线 Bestcoder Round 1
http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...
- HDU 4569 Special equations(取模)
Special equations Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u S ...
- HDU 4006The kth great number(K大数 +小顶堆)
The kth great number Time Limit:1000MS Memory Limit:65768KB 64bit IO Format:%I64d & %I64 ...
- HDU 1796How many integers can you find(容斥原理)
How many integers can you find Time Limit:5000MS Memory Limit:32768KB 64bit IO Format:%I64d ...
随机推荐
- 基于xml文件实现系统属性配置管理
文章标题:基于xml文件实现系统属性配置管理 . 文章地址: http://blog.csdn.net/5iasp/article/details/11774501 作者: javaboy2012 E ...
- SGU 242 Student's Morning 网络流(水
题目链接:contest=0&problem=242">点击打开链接 题意: 给定n个人,m个终点 以下n行表示每一个人能够去m个点. 每一个人仅仅能去一个点. 输出随意一个方 ...
- X509Certificate2 本地正常,放到线上内部错误
iis 找到部署的站点应用连接池,右键高级设置,找到“加载用户配置文件”改为true.window service2008 默认为false的.
- appium获取app应用的package和 activity。---新手总结(大牛勿喷,新手互相交流)
从网上搜索的方法: 如下: 1.查看源码 2.日志法a.启动待测apkb.开启日志输出:adb logcat>D:/log.txtc.关闭日志输出:ctrl+cd.查看日志直接搜索 :Displ ...
- 关于appcompat v7出现的问题
一.问题描述: 新建了一个MIN-SDK为API 8的工程之后,TARGET-SDK为API 17的Android工程之后,自动生成的appcompat v7会提示“v7/value21:no res ...
- LintCode-子数组之和
题目描述: 给定一个整数数组,找到和为零的子数组.你的代码应该返回满足要求的子数组的起始位置和结束位置 样例 给出 [-3, 1, 2, -3, 4],返回[0, 2] 或者 [1, 3]. publ ...
- DB2 权限控制
http://blog.csdn.net/liujinwei2005/article/details/8606983 http://www.ibm.com/developerworks/cn/data ...
- Maven 版 JPA 最佳实践(转)
项目结构图 数据库环境 数据库:MySQL 版本:5.x 数据库名:jpa-demo 用户名密码:root/1234 代码清单 1:数据库脚本: ? 1 2 3 4 5 6 7 8 9 10 11 1 ...
- Mobile上的viewport及各种概念澄清贴
device Pixel & CSS Pixel 物理像素指显示设备上的物理像素点,比如HTC G11宽是480px,这的480是用物理像素衡量的. CSS像素的话则指我们写页面时理解的那个像 ...
- nodejs学习笔记_nodejs和PHP在基础架构上的差别--共享状态的并发
绝大多数对于Node.js的讨论都把关注点放在了处理高并发能力上,做开发的时候一定要明确node内部做出的权衡,以及node应用性能好的原因. node 为javascript引入了一个复杂的概念,: ...