算法与数据结构最大公约数和最小公倍数的Java程序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法与数据结构最大公约数和最小公倍数的Java程序相关的知识,希望对你有一定的参考价值。

GCD最大公约数

方法:欧几里得算法(辗转相除法),

【思想】递归

【思路】

技术分享

【代码】

1 public class Main {
2     public static int gcd(int p, int q) {
3         if (q == 0) {
4             return p;
5         }
6         int r = p % q;
7         return gcd(q, r);
8     }
9 }

LCM最小公倍数

追求方便公式法求解。

【思路】

技术分享

【代码】

 1 public class Main {
 2     public static int gcd(int p, int q) {
 3         if (q == 0) {
 4             return p;
 5         }
 6         int r = p % q;
 7         return gcd(q, r);
 8     }
 9     public static int lcm(int a, int b) {
10         return (a * b)/gcd(a, b);
11     }
12 }

 

以上是关于算法与数据结构最大公约数和最小公倍数的Java程序的主要内容,如果未能解决你的问题,请参考以下文章

数据结构与算法之--最大公约数最小公倍数

挑战程序设计竞赛(算法和数据结构)——10.3最大堆(最小堆)的JAVA实现

2022年雪花算法的最大与最小值

常规算法

最大K乘积问题

JAVA常见算法题