1. /**
  2. 题目:Solve Equation
  3. 链接:http://acm.hnust.edu.cn/JudgeOnline/problem.php?id=1643 //最终来源neu oj 2014新生选拔赛题
  4. 题意:给定两个数的和以及他们的最小公倍数,求这两个数。
  5. 思路:
  6. x+y=A
  7. lcm(x,y)=B => x*y/gcd(x,y)=B
  8. 要把这两个公式联立,那么必须消掉gcd;
  9. 设:d = gcd(x,y), x = kx*d, y = ky*d; kx与ky互质;
  10.  
  11. x+y=A => d(kx+ky)=A
  12. x*y/gcd(x,y)=B => d*kx*ky=B
  13.  
  14. 由于kx与ky互质,所以kx*ky与(kx+ky)互质,那么d的大小为gcd(A,B);
  15.  
  16. 那么:
  17. x+y=A
  18. x*y/gcd(A,B)=B; 联立两个式子判断是否可以获得整数解再解方程即可。
  19.  
  20. 得出结论:gcd(x,y) = gcd(A,B) = gcd(x+y,lcm(x,y));
  21.  
  22. 一元二次方程解
  23. b*b-4*a*c>=0有解。
  24. x1 = (-b+sqrt(b*b-4*a*c))/(2*a);
  25. x2 = (-b-sqrt(b*b-4*a*c))/(2*a);
  26. 要判断是否是整数解,则要对分母对分子取余为0,以及开根号后为整数值。
  27. */
  28. #include<iostream>
  29. #include<cstring>
  30. #include<cstdio>
  31. #include<algorithm>
  32. #include<cmath>
  33. using namespace std;
  34. typedef long long ll;
  35. const int maxn = ;
  36. ll gcd(ll a,ll b)
  37. {
  38. return b==?a:gcd(b,a%b);
  39. }
  40. int main()
  41. {
  42. ll A, B;
  43. while(scanf("%lld%lld",&A,&B)==)
  44. {
  45. ll d = gcd(A,B);
  46. ll deta = A*A-*d*B;
  47. ll p = sqrt(deta+0.00001);
  48. if(p*p!=deta){
  49. printf("No answer\n");
  50. }else
  51. {
  52. if((A+p)%!=){
  53. printf("No answer\n");
  54. }else
  55. {
  56. ll x = (A-p)/;
  57. ll y = (A+p)/;
  58. printf("%lld %lld\n",x,y);
  59. }
  60. }
  61. }
  62. return ;
  63. }

Solve Equation gcd(x,y)=gcd(x+y,lcm(x,y)) gcd(x,y)=1 => gcd(x*y,x+y)=1的更多相关文章

  1. ACM: FZU 2102 Solve equation - 手速题

     FZU 2102   Solve equation Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & ...

  2. FZOJ 2102 Solve equation

                                                                                                        ...

  3. 数论-质因数(gcd) UVa 10791 - Minimum Sum LCM

    https://vjudge.net/problem/UVA-10791/origin 以上为题目来源Google翻译得到的题意: 一组整数的LCM(最小公倍数)定义为最小数,即 该集合的所有整数的倍 ...

  4. GCD(最大公约数)和LCM(最小公倍数)的求法

    GCD(最大公约数) (1)辗转相除法(欧几里得算法)(常用) 将两个数a, b相除,如果余数c不等于0,就把b的值给a,c的值给b,直到c等于0,此时最大公约数就是b (2)更相减损术 将两个书中较 ...

  5. FZU 2102 Solve equation(水,进制转化)&& FZU 2111(贪心,交换使数字最小)

    C Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Pra ...

  6. Mathematics:GCD & LCM Inverse(POJ 2429)

    根据最大公约数和最小公倍数求原来的两个数 题目大意,不翻译了,就是上面链接的意思. 具体思路就是要根据数论来,设a和b的GCD(最大公约数)和LCM(最小公倍数),则a/GCD*b/GCD=LCM/G ...

  7. gcd,lcm,ext_gcd,inv

    Least Common Multiple http://acm.hdu.edu.cn/showproblem.php?pid=1019 #include<cstdio> int gcd( ...

  8. 牛客练习赛44 C 小y的质数 (数论,容斥定理)

    链接:https://ac.nowcoder.com/acm/contest/634/C 来源:牛客网 题目描述 给出一个区间[L,R],求出[L,R]中孪生质数有多少对. 由于这是一个区间筛质数的模 ...

  9. 牛客练习赛44 A 小y的序列 (模拟,细节)

    链接:https://ac.nowcoder.com/acm/contest/634/A 来源:牛客网 小y的序列 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语 ...

随机推荐

  1. 【SQL Server学习笔记】事务、锁定、阻塞、死锁 sys.sysprocesses

    http://blog.csdn.net/sqlserverdiscovery/article/details/7712068 Column name Data type Description   ...

  2. telnet协议的作用详解,以及telnet端口号介绍

    转:http://www.ctowhy.com/382.html Telnet协议,工作在TCP/IP协议栈的“应用层”,telnet是一种使用命令行的远程终端管理的协议,可以远程连接到网络设备上,并 ...

  3. 【java】处理时间字段 在数据库查询的时候只想要年月日,不想要时分秒 ,java中设置时间类型为年月日,java中设置Date中的时分秒为00.00.000

    JDK8 中最简单的处理方式: @Test public void dateTest(){ Date now = new Date(); System.out.println(now); // jav ...

  4. 关于在.NET中 DAL+IDAL+Model+BLL+Web

    其实三层架构是一个程序最基本的 在.Net开发中通常是多层开发比如说    BLL 就是business Logic laywer(业务逻辑层) 他只负责向数据提供者也就是DAL调用数据 然后传递给 ...

  5. 重新学习vue基础

    1.创建vue实例 var vm = new Vue({ el: '#example', //选择元素 data: {a:1} //基本数据 }) 2.模板语法 (一)基本语法 <span> ...

  6. iOS:IOS项目集成ShareSDK实现第三方登录、分享、关注等功能。

    原文链接:http://blog.csdn.net/daleiwang/article/details/34081231 (3)在项目的AppDelegate中一般情况下有三个操作,第一是注册Shar ...

  7. 计算两个经纬度之间的距离(python算法)

    EARTH_REDIUS = 6378.137 def rad(d): return d * pi / 180.0 def getDistance(lat1, lng1, lat2, lng2): r ...

  8. 【枚举】【SDOI 2011】【bzoj 2241】打地鼠

    2241: [SDOI2011]打地鼠 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 877 Solved: 557 Description 打地鼠是 ...

  9. 高仿手机QQ音乐之——Android带进度条的开关

    最新版的手机QQ音乐体验确实不错,发现首页播放按钮能够显示歌曲当前进度条.认为挺有新意.效果例如以下: 自己琢磨了下.能够用自己定义组件来实现,试着做了一下.效果例如以下: 整理了下思路.大概设计流程 ...

  10. mac打开所有软件源

    sudo spctl --master-disable