最大公约数

题目 最大公约数

image-05d11a61

思路分析

代码实现

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt(),b=sc.nextInt();
        System.out.println(gcd(a,b));
    }

    private static int gcd(int a,int b){
        return b !=0 ? gcd(b,a%b) : a;
    }
}

java内置gcd

import java.math.BigInteger;
import java.util.Scanner;

/*
BigInteger 类有一个内置的 gcd 方法,可以计算两个大整数的最大公约数
该方法的签名为 BigInteger gcd(BigInteger val)
需要输入的整数 a 和 b 转换为 BigInteger 类型,然后使用 gcd 方法。
*/

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt(), b = sc.nextInt();

        // 将整数转换为 BigInteger 类型
        BigInteger bigA = BigInteger.valueOf(a);
        BigInteger bigB = BigInteger.valueOf(b);

        // 使用 BigInteger 的 gcd 方法计算最大公约数
        BigInteger gcd = bigA.gcd(bigB);

        System.out.println(gcd);
    }
}

同类题型

视频讲解


项目分区导航数组排序 ⬅️ | 05-最大公约数 | ➡️ 常用容器