HDU2669

news/2024/11/24 7:37:49/

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2669

题目大意:给两个数a和b,找出一组x,y使得a*x + b*y = 1,如果找不出输出sorry

题解:显然是用扩展欧几里得定理求解。
扩展欧几里德算法
基本算法:对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在整数对 x,y ,使得 gcd(a,b)=ax+by。
证明:设 a>b。
  1,显然当 b=0,gcd(a,b)=a。此时 x=1,y=0;
  2,ab!=0 时
  设 ax1+by1=gcd(a,b);
  bx2+(a mod b)y2=gcd(b,a mod b);
  根据朴素的欧几里德原理有 gcd(a,b)=gcd(b,a mod b);
  则:ax1+by1=bx2+(a mod b)y2;
  即:ax1+by1=bx2+(a-(a/b)*b)y2=ay2+bx2-(a/b)*by2;

  根据恒等定理得:x1=y2; y1=x2-(a/b)*y2;

 这样我们就得到了求解 x1,y1 的方法:x1y1 的值基于 x2,y2.

  上面的思想是以递归定义的,因为 gcd 不断的递归求解一定会有个时候 b=0,所以递归可以结束。

#include <iostream>
#include <cstdio>
using namespace std;int x, y;int gcd(int a, int b)
{int d, t;if(b==0){x=1;y=0;return a;}d = gcd(b, a%b);t = x;x = y;y = t-(a/b)*y;return d;
}int main()
{int a, b;while(scanf("%d %d", &a, &b)!=EOF){int d = gcd(a, b);if(d!=1){printf("sorry\n");continue;}while(x<=0){x += b;y -= a;}printf("%d %d\n", x, y);}return 0;
}

http://www.ppmy.cn/news/115587.html

相关文章

1099 性感素数

1099 性感素数 &#xff08;20 分&#xff09; “性感素数”是指形如 (p, p6) 这样的一对素数。之所以叫这个名字&#xff0c;是因为拉丁语管“六”叫“sex”&#xff08;即英语的“性感”&#xff09;。&#xff08;原文摘自 http://mathworld.wolfram.com/SexyPrimes.html&am…

hdu6796 X Number

题目链接 把每个数出现次数的数组当成状态来进行数位dp&#xff0c;常规的数位dp是枚举到最后一位或者此状态之前被处理过。 此题有个额外不同的地方就是&#xff0c;如果之前枚举的数不全是前导零且小于给定数&#xff0c;那么后面的数就可以随便放&#xff0c;因为我们只关心…

芯片组x299是服务器主板吗,最强的酷睿i9只能用它!X299主板首发评测

【PConline 首发评测】X99主板从2014年中旬至今已经坚挺了三年,加之AMD那头的多核多线程锐龙CPU又来势汹汹,Intel这回终于狠下心来推出新一代的酷睿i9和发烧级主板——X299来应战,也许发烧级平台的受众数量不会太多,但作为Intel的顶级产品,其话题性和关注度还是很高的,今…

三星(samsung)手机i699内容:解锁boot loader,刷recovery,刷机(刷rom),root综合教程

此文为本人原创 1.1 手机和电脑(linux)比较&#xff1a; 启动过程比较&#xff1a; android启动过程&#xff1a; 1 Boot ROM > 2 Boot Loader > 3 正常模式&#xff1a;加载Kernel > 4 Android > 3 恢复模式&#xff1a;Recovery linux启动过程&#xff1a;BIOS自…

强!PCB“金手指”从设计到生产全流程

在电脑内存条、显卡上&#xff0c;有一排金黄色导电触片&#xff0c;就是大家俗称的“金手指”。 在PCB设计制作行业中的“金手指”(Gold Finger&#xff0c;或称Edge Connector)&#xff0c;是由connector连接器作为PCB板对外连接网络的出口。 关于“金手指”你知道多少呢&a…

HI3519AV100 NNIE

海思NNIE开发系列文章&#xff1a; 海思NNIE开发&#xff08;一&#xff09;&#xff1a;海思Hi3559AV100/Hi3519AV100 NNIE深度学习模块开发与调试记录 海思NNIE开发&#xff08;二&#xff09;&#xff1a;FasterRCNN在海思NNIE平台上的执行流程&#xff08;一&#xff09;…

移动端适配(必须要知道的,亲测有效)

关于移动端适配&#xff08;必须要知道的&#xff0c;亲测有效&#xff09; 一、各种单位概念理解二、移动&#xff0c;web开发三、移动端适配1、视口(viewport)概念2、视口(viewport)适配&#xff08;代码&#xff09;3、rem单位适配flexible方案竖屏、横屏、ipad、PC最全的适…

hdu6199

沈阳网络赛1006 gems gems gems 题意是有n堆宝石(可能有负数),A和B从左到右拿宝石&#xff0c;A先手拿1或者2堆&#xff0c;假设某个人当前拿了k堆&#xff0c;那么下一个人只能拿k或者k1堆&#xff0c;如果他取不了k堆宝石时&#xff0c;游戏结束。定义difference为A拿到的宝…