集训第六周 数学概念与方法 数论 线性方程 I题
2015-08-20 11:12
239 查看
Description
The Sky is Sprite.
The Birds is Fly in the Sky.
The Wind is Wonderful.
Blew Throw the Trees
Trees are Shaking, Leaves are Falling.
Lovers Walk passing, and so are You.
................................Write in English class by yifenfei
Girls are clever and bright. In HDU every girl like math. Every girl like to solve math problem!
Now tell you two nonnegative integer a and b. Find the nonnegative integer X and integer Y to satisfy X*a + Y*b = 1. If no such answer print "sorry" instead.
Input
The input contains multiple test cases.
Each case two nonnegative integer a,b (0<a, b<=2^31)
Output
output nonnegative integer X and integer Y, if there are more answers than the X smaller one will be choosed. If no answer put "sorry" instead.
Sample Input
77 51
10 44
34 79
Sample Output
2 -3
sorry
7 -3
给出 a1 a2
求 x1 x2 使得 a1*x1+a2*x2=1
如果不存在,输出sorry
套用扩展欧里几得算法的模版
注意输出不需要考虑最后的空格控制
注意x1要大于0
The Sky is Sprite.
The Birds is Fly in the Sky.
The Wind is Wonderful.
Blew Throw the Trees
Trees are Shaking, Leaves are Falling.
Lovers Walk passing, and so are You.
................................Write in English class by yifenfei
Girls are clever and bright. In HDU every girl like math. Every girl like to solve math problem!
Now tell you two nonnegative integer a and b. Find the nonnegative integer X and integer Y to satisfy X*a + Y*b = 1. If no such answer print "sorry" instead.
Input
The input contains multiple test cases.
Each case two nonnegative integer a,b (0<a, b<=2^31)
Output
output nonnegative integer X and integer Y, if there are more answers than the X smaller one will be choosed. If no answer put "sorry" instead.
Sample Input
77 51
10 44
34 79
Sample Output
2 -3
sorry
7 -3
给出 a1 a2
求 x1 x2 使得 a1*x1+a2*x2=1
如果不存在,输出sorry
套用扩展欧里几得算法的模版
注意输出不需要考虑最后的空格控制
注意x1要大于0
#include"iostream" using namespace std; void gcd(int a,int b,int &d,int &x,int &y) { if(!b) {d=a;x=1;y=0;} else {gcd(b,a%b,d,y,x);y-=x*(a/b);} } int main() { int m,n; while(cin>>m>>n) { int x,y,d; gcd(m,n,d,x,y); if(d!=1) cout<<"sorry"<<endl; else { while(x<0) { x+=n; y-=m; } cout<<x<<" "<<y<<endl; } } return 0; }
相关文章推荐
- 王健林超李嘉诚成全球华人首富
- OC一般类(简单类,组合类,继承关系的子类)的拷贝
- 【转】quartz的触发器CronTriggerBean 配置
- Eclipse + CDT Program "gcc" not found in PATH
- 我自己遇见的几个常见错误
- jquery插件之文字间歇自动向上滚动
- iOS几种蓝牙模块
- 在MyEclipse中更换或修改svn的用户名和密码
- HDOJ 1711Number Sequence
- 扩展VMWare 虚拟机中CentOS的磁盘空间
- 一位JAVA程序员的七夕情书——致未来的另一半
- 使用.NET Reflector 查看Unity引擎里面的DLL文件
- 日经社説 20150820 拙速は避けたい「ゲノム編集」
- ssh免密码登陆
- Catalan数 大数运算&&普通运算
- 20 Valid Parentheses
- Javascript(一)-06-(JS语法-其他运算符)
- POJ 1236--Network of Schools【scc缩点构图 && 求scc入度为0的个数 && 求最少加几条边使图变成强联通】
- SPFA
- HTML5---Canvas-模拟地球-星球运行轨道