最大公约数与最小公倍数计算器

Greatest common divisor (GCD, GCF or HCF) and least common multiple (LCM) of two or more whole numbers, with Euclid's algorithm step by step.

更新于 已验证的示例:6

Two or more integers, separated by commas or spaces.
试一试
Greatest common divisor
Greatest common divisor: 6
整数;取最近值,等距时远离零
Least common multiple
180

The largest number dividing 12, 18 and 30 exactly is 6; the smallest positive number they all divide into is 180.

Euclid's algorithm as squares: 12 × 18 rectangle

1261812
Euclid's algorithm, a = q·b + r 行数:3
PairabQuotient qRemainder r
gcd(12, 18)181216
gcd(12, 18)12620
gcd(6, 30)30650
计算方法 S
  1. Euclid's algorithm for gcd(12, 18)

    18=1×12+612=2×6+0⇒gcd⁡=6\begin{aligned}18 &= 1 \times 12 + 6 \\ 12 &= 2 \times 6 + 0\end{aligned} \qquad \Rightarrow \gcd = 6

    Divide, keep the remainder, repeat with the divisor; the last non-zero remainder is the gcd.

  2. Least common multiple with 18

    lcm⁡(12,18)=12×18gcd⁡(12,18)=2166=36\operatorname{lcm}(12, 18) = \frac{12 \times 18}{\gcd(12, 18)} = \frac{216}{6} = 36
  3. Euclid's algorithm for gcd(6, 30)

    30=5×6+0⇒gcd⁡=6\begin{aligned}30 &= 5 \times 6 + 0\end{aligned} \qquad \Rightarrow \gcd = 6

    Divide, keep the remainder, repeat with the divisor; the last non-zero remainder is the gcd.

  4. Least common multiple with 30

    lcm⁡(36,30)=36×30gcd⁡(36,30)=1,0806=180\operatorname{lcm}(36, 30) = \frac{36 \times 30}{\gcd(36, 30)} = \frac{1{,}080}{6} = 180

关于最大公约数与最小公倍数计算器

The greatest common divisor (GCD, also called the greatest common factor or highest common factor) is the largest whole number that divides every input; the least common multiple (LCM) is the smallest positive number that every input divides. Euclid's algorithm finds the GCD by repeatedly replacing the larger number with its remainder after division by the smaller: gcd(1071, 462) = gcd(462, 147) = gcd(147, 21) = 21. The LCM follows from lcm(a, b) = |a × b| ÷ gcd(a, b), applied a pair at a time.

Reducing fractions uses the GCD; adding fractions and lining up repeating schedules use the LCM. For the default 12, 18 and 30 the GCD is 6 and the LCM is 180, so events every 12, 18 and 30 days next coincide after 180 days.

For two numbers the calculator also gives the Bézout identity from the extended Euclidean algorithm: 21 = 1071 × (−3) + 462 × 7. Negative inputs count by their absolute value, gcd(0, n) = n, and a list containing 0 has an LCM of 0.

计算示例

12, 18 and 30

Whole numbers
12, 18, 30
Greatest common divisor
6
Least common multiple
180

核验来源:Python 3.8 math.gcd and a·b // gcd folded over the list

Euclid's 1071 and 462

Whole numbers
1071, 462
Greatest common divisor
21
Least common multiple
23,562
Bézout identity
21 = 1071·(−3) + 462·7

核验来源:Wikipedia — Euclidean algorithm worked example (gcd 21); lcm and Bézout coefficients by hand back-substitution, checked in Python

Extended Euclid on 240 and 46

Whole numbers
240 46
Greatest common divisor
2
Least common multiple
5,520
Bézout identity
2 = 240·(−9) + 46·47

核验来源:Wikipedia — Extended Euclidean algorithm example table (s = −9, t = 47)

Coprime 17 and 31

Whole numbers
17, 31
Greatest common divisor
1
Least common multiple
527

核验来源:Both prime, so gcd 1 and lcm 17 × 31 = 527

常见问题

How do you find the GCD of two numbers?

Use Euclid's algorithm: divide the larger number by the smaller, keep the remainder, and repeat with the divisor and the remainder until the remainder is 0; the last non-zero remainder is the GCD. For 1071 and 462: 1071 = 2 × 462 + 147, 462 = 3 × 147 + 21, 147 = 7 × 21 + 0, so the GCD is 21. By Lamé's theorem it never needs more than five steps per digit of the smaller number.

How do you find the LCM of two numbers?

Divide their product by their GCD: lcm(a, b) = a × b ÷ gcd(a, b). For 12 and 18, gcd = 6, so lcm = 216 ÷ 6 = 36. For more numbers, go one pair at a time: lcm(36, 30) = 1,080 ÷ 6 = 180, so the LCM of 12, 18 and 30 is 180. Listing multiples (12, 24, 36 …) reaches the same answer, but slowly for large numbers.

What is the difference between GCD, GCF and HCF?

There is none: greatest common divisor (GCD), greatest common factor (GCF) and highest common factor (HCF) are three names for the same number. GCF and HCF are the usual school terms, GCF mostly in the US and HCF in the UK and India, while GCD is the name in number theory and programming, as in Python's math.gcd. Under every name, gcd(12, 18) = 6.

How are the GCD and LCM related?

For two positive whole numbers, gcd(a, b) × lcm(a, b) = a × b; with 12 and 18, 6 × 36 = 216 = 12 × 18. In prime factors, the GCD takes the lower power of each shared prime and the LCM the higher power of every prime: 12 = 2² × 3 and 18 = 2 × 3², so the GCD is 2 × 3 = 6 and the LCM is 2² × 3² = 36. The product rule does not extend to three or more numbers.

What does it mean when two numbers are coprime?

Their GCD is 1, so they share no prime factor, and their LCM is simply their product. 17 and 31 are coprime, with an LCM of 17 × 31 = 527, and so are 8 and 15 although neither is prime. A fraction is in lowest terms exactly when its numerator and denominator are coprime.

“最大公约数与最小公倍数计算器”有多准确?

准确性取决于输入值和方法的假设。十进制运算使用50位有效数字,但估算、数值方法和源数据的精度可能较低;显示时的舍入并不能消除这些限制。 已按独立来源核验的计算示例:6。 例如,“12, 18 and 30”根据Python 3.8 math.gcd and a·b // gcd folded over the list进行核验。

这种方法出自哪里?

Euclid, Elements, Book VII, Propositions 1–2; Knuth, The Art of Computer Programming Vol. 2, §4.5.2 (Euclid's algorithm); Wikipedia — Extended Euclidean algorithm (worked example 240, 46).

关于此计算器

gcd⁡(a,b)=gcd⁡(b, a mod b)gcd⁡(a,0)=∣a∣lcm⁡(a,b)=∣a b∣gcd⁡(a,b)\begin{gathered} \gcd(a, b) = \gcd(b,\ a \bmod b) \\[6pt] \gcd(a, 0) = |a| \\[10pt] \operatorname{lcm}(a, b) = \frac{|a\,b|}{\gcd(a, b)} \end{gathered}

来源

  1. Euclid, Elements, Book VII, Propositions 1–2
  2. Knuth, The Art of Computer Programming Vol. 2, §4.5.2 (Euclid's algorithm)
  3. Wikipedia — Extended Euclidean algorithm (worked example 240, 46)

已对照来源验证

此计算器包含 6 个已解示例,答案来自独立来源。这些示例会在测试套件中运行,你也可以在此运行验证。

相关计算器