hdu 5974 LCM+求方程
来源:互联网 发布:前端自学软件 编辑:程序博客网 时间:2024/06/05 20:32
Given two positive integers a and b,find suitable X and Y to meet the conditions: X+Y=a Least Common Multiple (X, Y) =b
6 8798 10780
No Solution308 490
题意:给出a,b的值,求X+Y=a,且满足LCM(X,Y)=b的两个X,Y题解:由于没有让求最小或最大的a,b,那么肯定是需要根据确定的表达式求出唯一的解
lcm(x,y)=x*y/gcd(x,y);
设k=gcd(x,y);
x=i*k;
y=j*k;
其中i和j是互质的
b=lcm(x,y)=x*y/k
变为i*j*k=b
由x+y=a得(i+j)*k=a
因为i和j互质,所以i*j和i+j互质
证明:
假设a+b与a*b不互质,则它们有共同的一个因子m.
由m是a*b因子推得m是a或b或a和b的因子,又ab互质,所以只是a或b的因子.
m是a或b的因子又是a+b的因子可推出m是a和b的因子,与ab互质矛盾.
所以a+b与a*b互质
所以k=gcd(a,b)
联立i+j和i*j求解二次方程,解得相应的整数解
#include<iostream>#include<cmath>#include<cstring>#include<cstdio>#include<vector>#include<stack>#include<queue>#include<algorithm>#include<sstream>#define inf 0x3f3f3f3f#define ll long longusing namespace std;ll x1,x2;ll gcd(ll a,ll b){ return b==0?a:gcd(b,a%b);}bool judge(ll k1,ll k2){ ll det=k1*k1-4*k2; if(det<0) return false; ll t=sqrt(det); if(t*t<det) return false; x1=k1+t; x2=k1-t; //cout<<x1<<" "<<x2<<endl; if(x1%2==1) x1=inf; else x1=x1/2; if(x2%2==1) x2=inf; else x2=x2/2; //cout<<x1<<" "<<x2<<endl; return true;}int main(){ int a,b; while(cin>>a>>b) { ll k=gcd(a,b); ll k1=a/k; ll k2=b/k; //cout<<k1<<" "<<k2<<endl; bool flag=judge(k1,k2); if(flag==false||x1==inf&&x2==inf) cout<<"No Solution"<<endl; else { ll x=min(x1,x2); cout<<min(x,(k1-x))*k<<" "<<max(x,(k1-x))*k<<endl; } } return 0;}
0 0
- hdu 5974 LCM+求方程
- hdu 4418 高斯消元解方程求期望
- hdu 2199 二分法求方程的根
- hdu 1099 (求期望值,分数求和模拟,gcd,lcm)
- 求方程
- 三分求一元三次方程的极值:hdu 4355
- HDU 1576 扩展欧几里德算法求二元一次不定方程
- HDU 2669 扩展欧几里德求二元不定方程,超水..
- hdu 2199 二分法求单调函数方程的解
- HDU 2899 Strange fuction 二分求方程解
- 求GCD和LCM
- HDU 5382 GCD?LCM!
- hdu 5382 GCD?LCM!
- HDU 1108 最小公倍数(lcm)
- hdu 5382 GCD?LCM!
- HDU 1108 最小公倍数【lcm】
- hdu 5584 LCM Walk
- HDU 5584 LCM Walk
- 老司机带你探知存储伸缩之道
- 【qscoj】喵哈哈村的古怪石碑(一)(快速幂)
- Java连接Redis的接口实现
- canvas 雪花连线
- Python3 设计模式_工厂模式
- hdu 5974 LCM+求方程
- linux里的pwd命令详解(查看目录路径)
- 斐讯K2 刷机
- Java中的时间计算 Calendar类的加减
- Tensorflow 权重衰减的使用
- android sdk manager设置国内镜像快速下载sdk
- HashMap的ContainKey()方法
- [面试] 关于HTTP协议,一篇就够了
- hive中文乱码的解决办法