P2152 [SDOI2009]SuperGCD

Posted Jozky86

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P2152 [SDOI2009]SuperGCD相关的知识,希望对你有一定的参考价值。

P2152 [SDOI2009]SuperGCD

题意:

求a和b的最大公约数
a,b<= 1 0 10000 10^{10000} 1010000

题解:

高精度,java高精度直接有模板,c++高精度结合gcd的辗转相减法
对于:a,b的gcd(a,b)有:

  1. 若a为奇数,b为偶数,gcd(a,b)=gcd(a,b/2)
  2. 若a为偶数,b为奇数,gcd(a,b)=gcd(a/2,b)
  3. 若a为偶数,b为偶数,gcd(a,b)=2gcd(a,b)
  4. 若a为奇数,b为奇数,gcd(a,b)=gcd(a-b,b)(a>b)

代码:

C++代码略

import java.math.*;
import java.util.*;

public class Main {
    static Scanner cin=new Scanner(System.in); //输入
    static public void main(String args[]) { //主方法
        BigInteger a=cin.nextBigInteger();
        BigInteger b=cin.nextBigInteger();
        System.out.println(a.gcd(b)); //输出
    }
}

以上是关于P2152 [SDOI2009]SuperGCD的主要内容,如果未能解决你的问题,请参考以下文章

? P2152 [SDOI2009]SuperGCD (luogu)

[SDOI2009]SuperGCD

BZOJ 1876: [SDOI2009]SuperGCD

bzoj1876 [SDOI2009]SuperGCD

BZOJ1876: [SDOI2009]SuperGCD

[SDOI2009]SuperGCD