--- title: "05-最大公约数" created: 2025-12-02 tags: - 项目 aliases: - 最大公约数 --- # 最大公约数 ## 题目 [最大公约数](https://www.acwing.com/problem/content/810/) ![[image-05d11a61.png]] ## 思路分析 ## 代码实现 ```java 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 ```java 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); } } ``` ## 同类题型 ## 视频讲解 --- **项目分区导航**: [[04-数组排序|数组排序]] ⬅️ | 05-最大公约数 | ➡️ [[00-常用容器|常用容器]]