感谢:http://blog.csdn.net/mirror58229/article/details/63685884

题意:x+y=a lcm(x,y)=b  求x,y

12WCases +  b 10^9 + a 10^4

所以肯定不是枚举……肯定是公式题

接下来就是转化

x+y=a

x*y/gcd(x,y)=b

令gcd(x,y)=c

x=i*c,y=j*c

i*c+j*c=a

c*i*j=b

c*(i+j)=a

c*i*j=b

因为i j互质 所以gcd(a,b)=c=gcd(x,y) 【最重要的条件】

所以一开始就能得到c值,剩下就是求根

i+j=a/c

i*j=b/c

i+b/(c*i)=a/c

c*i2-a*i+b=0

a.b.c已知二元一次方程组求根 小的那个为i 大的为j

最后因为求根时整除可能会出现小数,这是不满足题意的 ,丢掉这种情况即可

#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b)
{
return b==?a:gcd(b,a%b);
}
int main()
{
ll a,b;
while(scanf("%lld%lld",&a,&b)!=EOF)
{
ll c=gcd(a,b);
ll d=a*a-*b*c;
if(d<)
{
printf("No Solution\n");
continue;
}
ll i=(a-sqrt(d))//c;
ll j=a/c-i;
ll x=c*i;
ll y=c*j;
if(x*y/c==b)
printf("%lld %lld\n",x,y);
else
printf("No Solution\n");
}
}

最新文章

  1. struts2学习笔记--OGNL表达式1
  2. 利用JavaScript生成随机数字!
  3. tomcat启动指定项目
  4. 昨日尝试使用百度死链提交,使用lCGI规则提交
  5. php-fpm.conf两个至关重要的参数
  6. ffmepg 指定RTSP网络连接模式UDP还是TCP
  7. VMware linux与windows文件共享
  8. SQL Server 2008 数据库误删除数据的恢复
  9. poj2942 Knights of the Round Table,无向图点双联通,二分图判定
  10. Unicode字段也有collation
  11. PAT (Advanced Level) 1026. Table Tennis (30)
  12. [bzoj1227] [SDOI2009]虔诚的墓主人
  13. curl获取结果乱码的解决方法之CURLOPT_ENCODING(curl/Post请求)
  14. ThinkPHP3.2.3框架下接入阿里云短信服务接口实现:注册登录
  15. 处理springmvc的post和get提交参数乱码问题
  16. uva10003
  17. Python入门之面向对象编程(一)面向对象概念及优点
  18. 【CSS】清除浮动的五种方式
  19. HDU 1116 Play on Words(并查集和欧拉回路)(有向图的欧拉回路)
  20. USACO 6.1 Cow XOR

热门文章

  1. scrapy--json(喜马拉雅Fm)(二)
  2. 11.VUE学习之提交表单时拿到input里的值
  3. 010---Django的模型层(2)
  4. [Codeforces375D]Tree and Queries(莫队算法)
  5. 16,Flask-Migrate
  6. Android开发——弹性滑动的两种实现方式
  7. Reverse Word in a String(翻转字符串)&amp;字符串最后一个单词的长度
  8. erlang连接mysql [转]
  9. 云计算之路-阿里云上:OCS问题的进展以及11:30-11:50遇到的问题
  10. 【Adaptive Boosting】林轩田机器学习技法