A了一道题目,深入学习了一下欧几里得定理,记录一下:

我们平常了解的欧几里得定理就是求两个数最大公约数。

求最大公约数的定理是:设a,b是任意两个正整数,则gcd(a,b)=Rn,其中Rn是广义欧几里得除法中最后一个非零余数。算法描述

int gcd(int x,int y)
{int t=x%y;while(t){x=y;y=t;t=x%y;}return y;
}

但是当你遇上一个这样一个问题该怎样快速解决呢?

对于任意两个正整数a和b,必定存在一对整数s、t使得sa+tb=gcd(a,b)。

给出a,b,求s,t。
定理:设a,b为任意两个正整数,则Sn*a+Tn*b==gcd(a,b),对于n=0,1,2...这里的Sn,Tn可归纳
S0=1,S1=0,  S(j)=S(j-2)-q(j-1)*S(j-1)...
T0=0,T1=1, T(j)=T(j-2) - q(j-1)*S(j-1) 
由此可求出s和t。
题目描述:http://acm.nyist.net/JudgeOnline/problem.php?pid=775
代码:
#include <cstdio>
#include <cmath>int s[1005],t[1005];
int main()
{int a,b;s[0]=1,s[1]=0;t[0]=0,t[1]=1;while(~scanf("%d%d",&a,&b)){if(a+b<0&&a==b)break;int x,k=2;while(b){s[k]=s[k-2]-a/b*s[k-1];t[k]=t[k-2]-a/b*t[k-1];//printf("%d %d\n",s[k],t[k]);x=a%b;a=b;b=x;k++;}printf("%d %d\n",s[k-2],t[k-2]);}return 0;
}

欧几里得定理(nyoj775)相关推荐

  1. 欧几里得定理与扩展欧几里得定理

    欧几里的定理(辗转相除法): gcd(a,b) = gcd(b,a%b) gcd(a,b)表示a,b的最大公约数 证明: 设 a > b c = a%b a = k * b + c (k为某个整 ...

  2. 数学--数论--欧几里得定理和拓展欧几里得定理

    欧几里得定理: gcd(a, b) = gcd(b, a%b) 证明: 我们首先约定:m = gcd(a,b) , n = gcd(b, q) , a = b*p +q.(这里的gcd含义跟上面一样, ...

  3. 数学基础知识(扩展欧几里得定理)

    一.欧几里得定理(辗转相除法) 性质:如果 i 能整除a,也能整除b,则 i 能整除a+b,也能整除ax+by(x,y为整数),同时a mod b = a-(a/b)*b 用以上的性质我们知道如果一个 ...

  4. 扩展欧几里得定理求ax + by = c 的通解

    扩展欧几里得定理求ax + by = c 的通解: 前置条件: ax + by = c , gcd(a, b) = d 计算: a d \frac{a}{d} da​x + b d \frac{b}{ ...

  5. 欧几里得定理 java,每个程序员都应该知道的基础数论

    原标题:每个程序员都应该知道的基础数论 这篇文章讨论了数论中每个程序员都应该知道的几个重要概念.本文的内容既不是对数论的入门介绍,也不是针对数论中任何特定算法的讨论,而只是做为数论的一篇参考. 0. ...

  6. 欧几里得定理 及 拓展欧几里得 小结

    [欧几里得定理] 定义: gcd ⁡ ( a , b ) = gcd ⁡ ( b , a m o d    b ) \gcd(a,b)=\gcd(b,a\mod b) gcd(a,b)=gcd(b,a ...

  7. 专题·扩展欧几里得定理【including 求解二元一次方程,线性同余方程

    初见安~这里是基础数论专题(3)~[详见数论专栏] p.s:本文章假设你已经掌握了欧几里得算法--辗转相除法求最大公约数(gcd) 一.二元一次方程 形如的含有两个未知数且最高次数为1的方程我们称之为 ...

  8. 拓展欧几里得定理的应用

    扩展欧几里得定理的运用 首先,先重复一下拓展欧几里得的内容: 对于不全为 0 的整数a.b,一定存在一组解 x,y,使得 ax + by == gcd(a,b) 先说一下这个定理的三个用处(但是小细节 ...

  9. 扩展欧几里得定理 新手向证明及代码

    知识储备 1 . 朴素欧几里得原理:gcd(a,b) == gcd(b,a % b) 2 . 负数取模:忽略符号返回绝对值就好了 3 . 模数原理:对于整数a,b必然存在整数k使得a % b == a ...

最新文章

  1. 一个资深投行女销售和低调IT创业男的故事
  2. Qt下的OpenGL 编程(3)绘制平面几何体
  3. MSM--Memcached_Session_Manager介绍及使用
  4. 每日一博 - Java序列化一二事儿
  5. 北京计算机工业学校96届,刘驰_北京理工大学计算机学院
  6. icmp报文格式_TCP/IP(二):IP报文格式详解
  7. 1024 许个愿吧,万一实现了呢?
  8. laravel手动误删了迁移文件,重新生成
  9. 查看欧拉系统服务器ip,euler os 查看center进程命令
  10. 《花开在眼前》听得泪流满面
  11. 数字电子技术基础-2-逻辑函数的最小项与最大项
  12. ORA-12569: TNS: 包校验和失败解决方法一例
  13. ZF GE5060F47/153
  14. JDBC链接中的问题
  15. Clickhouse 时区
  16. 基于vue的适老化住宅设计系统的设计与实现
  17. Manjaro安装Mariadb
  18. 机器学习——python scikit-learn 贝叶斯
  19. 《离散时间信号处理学习笔记》—连续时间信号的采样(四)
  20. 【0】Docker---认识Docker

热门文章

  1. JAVA实现删除文件夹和文件
  2. java向MySQL插入当前时间的几种方式
  3. 通过MIME标准实现无插件极速生成多Sheet Excel文件
  4. Oracle中TO_DATE用法
  5. 基于MDB_ICP协议的纸币识别器与自动售货机通讯的研究
  6. 原创科幻短篇《腿控》
  7. 快充协议诱骗芯片大全:XSQ10支持9V12V15V20V
  8. 英特尔应用服务器,英特尔(Intel)服务器CPU全解析(图)
  9. 做wish用多大的虚拟服务器,虚拟海外仓适应于wish,ebay,速卖通,自营平台
  10. 【小沐学qt】生成二维码