zoukankan      html  css  js  c++  java
  • 数论编程

    一、取模

    (x%p+y%p)%p=(x+y)%p

    ((x-y)%p+p)%p 减法要这么写

    二、欧几里得算法

    ax+by=gcd(x,y)

    辗转相减法

    优化后是 辗转相除法

    x=13,y=7

    x-y=6 y=7

    y-(x-y)=1 y=7

    最大公因数是1

    y-(x-y)=2y-x=1

    反正一定能找出一组a b

    满足ax+by=gcd(x,y)

    ab可能是负数

    因为辗转相减法就是来回减

    三、扩展欧几里得算法

    ax+by=gcd(x,y)

    求a b

    ax+by   =   gcd(x,y)   =   gcd(x%y,y)   =   gcd(x-ky,y)   =   c(x-ky)+dy
     
     
     
     
     
  • 相关阅读:
    poj 2443
    codeforces 263D
    codeforces 263C
    uva 11080
    uva 11235
    uva 11748
    STL uva 11991
    (KM) uva 11383
    (树形DP) uva 10859
    codeforces 242C
  • 原文地址:https://www.cnblogs.com/Tidoblogs/p/11217612.html
Copyright © 2011-2022 走看看