1. 题意; 求接近规定 分数 最大分数
    用到 farey 数列的第二条性质
    1 #include <iostream>
  2. #include<stdio.h>
  3. using namespace std;
  4. /**
  5. |a/b-c/d|最小, 同分的|(ad-bc)/bd| 最小,,即求
  6. |ax-by| 最小
  7. 若a,b 有公约数则同分即可。。最小为0
  8. 若a,b无公约数,即a,b互质,即求ax-by=1或 -ax+by = 1
  9. 此时需要注意 若a==1 求解释x=1,y=0.。。所以当a=1时需要特殊处理
  10. 若a!=1 时,,就需要对上面的两个式子ax-by=1或 -ax+by = 1判断,找出最接近的解,即比较分母大的即可
  11.  
  12. */
  13. long long ex_gcd(long long a,long long b,long long &x, long long &y){
  14. if(b==){
  15. x =;
  16. y =;
  17. return a;
  18. }
  19. long long d = ex_gcd(b,a%b,x,y);
  20. long long temp = x;
  21. x = y;
  22. y = temp - a/b * y;
  23. return d ;
  24. }
  25.  
  26. int main()
  27. {
  28. int t;
  29. cin>>t;
  30. long long a,b,x,y,gcd,d1,d2,c1,c2;
  31. char c;
  32. while(t--){
  33. cin>>a>>c>>b;
  34. gcd = ex_gcd(a,b,x,y);
  35. if(gcd!=){
  36. cout<<a/gcd<<"/"<<b/gcd<<endl;
  37. }else if(a==){
  38. cout<<<<"/"<<b-<<endl;
  39. }else{
  40. // d2 = ex_gcd(b,a,y2,x2);
  41. d1 = (x+b)%b;
  42. d2 = (-x+b)%b;
  43. c1 = (-y+a)%a;
  44. c2 = (y+a)%a;
  45. // cout<<c1<<" "<<c2<<endl;
  46. // cout<<d1<<" "<<d2<<endl;
  47. if(d1>d2)
  48. cout<<c1<<"/"<<d1<<endl;
  49. else
  50. cout<<c2<<"/"<<d2<<endl;
  51.  
  52. }
  53. }
  54. return ;
  55. }

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. eclipse自动生成的appcompat_v7出错

    用eclipse新建Android工程时,自动生成的appcompat_v7出错,有个红色交叉,而且新建的Android工程有一个红色感叹号. 这时你去看看你新建的Android工程是不是没有生成R文 ...

  2. POJO概念

    POJO是一个简单的普通的Java对象,它不包含业务逻辑或持久逻辑等,但不是JavaBean.EntityBean等,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口.

  3. 小猪猪C++笔记基础篇(五)表达式、语句

    小猪猪C++笔记基础篇(五) 关键词:表达式.语句 本章的内容比较简单,基本上没有什么理解上的困难,都是知识上的问题.先开始想要不要写呢,本来是不准备写的,但是既然读了书就要做笔记,还是写一写,毕竟还 ...

  4. Find the k-th Smallest Element in the Union of Two Sorted Arrays

    (http://leetcode.com/2011/01/find-k-th-smallest-element-in-union-of.html) Given two sorted arrays A, ...

  5. 使用Apache的rewrite技术

    做PHP项目中需要用到URL重定向技术,基本上的需求就是把比如 /user/heiyeluren 重定向到 /user.php?uid=heiyeluren 之类的URL上,当然,你也可以把 /art ...

  6. 6.PHP 教程_PHP数据类型

    PHP数据类型 String(字符串),Integer(整型),Float(浮点型),Boolean(布尔型),Array(数组),Object(对象), NULL(空值). PHP字符串 一个字符串 ...

  7. [LeetCode]题解(python):003-Longest Substring Without Repeating Characters

    题目来源: https://leetcode.com/problems/longest-substring-without-repeating-characters/ 题意分析: 题目是要求出最长的不 ...

  8. VC编程之设置客户区背景图片

    在很多系统中出于美观的需要常常要设置背景图片.下面我介绍一种在客户区设置背景图片的简单方法. 1 .将背景bmp 图片导入到工程,资源ID 这里假设为 IDB_BITMAP1 2 .在视图类添加如下代 ...

  9. C++模板:qsort

    void qsort(int l,int r){ int i,j,t,mid; mid=b[(l+r)>>1]; i=l; j=r; do{ while (b[i]<mid) i++ ...

  10. webscraping documentation — webscraping documentation

    webscraping documentation - webscraping documentation webscraping documentation¶ Introduction Backgr ...