zoukankan      html  css  js  c++  java
  • [BZOJ1877][SDOI2009]SuperGCD

    题目大意

    求两个个高精度数的gcd

    题目解析

    在学习gcd的时候,书上就记载了“更相减损术”这一方法
    基于这种方法,我们进行优化,使得我们能快速求出两个大数的gcd

    对于 (a,b)(GCD(a, b))
    [1]. 若 (a) 为奇数,(b) 为偶数,(GCD(a, b) = GCD(a, b / 2))
    表示 (b) 存在2这个因子而 (a) 不存在,则将 (b) 除以2,,不考虑因子2;
    [2]. 若 (a) 为偶数,(b) 为奇数,(GCD(a, b) = GCD(a / 2, b))
    表示 (a) 存在2这个因子而 (b) 不存在,则将 (a) 除以2,不考虑因子2;
    [3]. 若 (a) 为偶数,(b) 为偶数,(GCD(a, b) = 2 * GCD(a / 2, b / 2))
    表示 (a, b) 都存在2这个因子,则 (GCD(a, b)) 也存在因子2,则将当前答案乘以2,(a, b) 都除以2;
    [4]. 若 (a) 为奇数,(b) 为奇数,(GCD(a, b) = GCD(a - b, b) (a ge b))

  • 相关阅读:
    oo第四次总结
    oo第三次总结
    补给站总结
    OO第四次单元总结
    OO第三次单元总结
    OO第二次单元总结
    OO第一次单元总结
    提问回顾与个人总结
    软件工程结对作业博客
    OO第一次单元总结
  • 原文地址:https://www.cnblogs.com/Alessandro/p/9707382.html
Copyright © 2011-2022 走看看