mirror of
https://github.com/trekhleb/javascript-algorithms.git
synced 2026-03-13 08:51:02 +08:00
Chore(math-translation-FR-fr): a pack of translations for the math section (#558)
* chore(factorial): translation fr-FR * feat(math-translation-fr-FR): fast powering * feat(math-translation-fr-FR): fibonacci numbers * chore(math-translation-fr-FR): bits * chore(math-translation-fr-FR): complex number * chore(math-translation-fr-FR): euclidean algorithm * chore(math-translation-fr-FR): fibonacci number * chore(math-translation-fr-FR): fourier transform * chore(math-translation-fr-FR): fourier transform WIP * chore(math-translation-fr-FR): fourier transform done * chore(math-translation-fr-FR): fourier transform in menu
This commit is contained in:
@@ -1,55 +1,58 @@
|
||||
# Euclidean algorithm
|
||||
|
||||
In mathematics, the Euclidean algorithm, or Euclid's algorithm,
|
||||
is an efficient method for computing the greatest common divisor
|
||||
(GCD) of two numbers, the largest number that divides both of
|
||||
_Read this in other languages:_
|
||||
[français](README.fr-FR.md).
|
||||
|
||||
In mathematics, the Euclidean algorithm, or Euclid's algorithm,
|
||||
is an efficient method for computing the greatest common divisor
|
||||
(GCD) of two numbers, the largest number that divides both of
|
||||
them without leaving a remainder.
|
||||
|
||||
The Euclidean algorithm is based on the principle that the
|
||||
greatest common divisor of two numbers does not change if
|
||||
the larger number is replaced by its difference with the
|
||||
smaller number. For example, `21` is the GCD of `252` and
|
||||
`105` (as `252 = 21 × 12` and `105 = 21 × 5`), and the same
|
||||
number `21` is also the GCD of `105` and `252 − 105 = 147`.
|
||||
Since this replacement reduces the larger of the two numbers,
|
||||
repeating this process gives successively smaller pairs of
|
||||
numbers until the two numbers become equal.
|
||||
When that occurs, they are the GCD of the original two numbers.
|
||||
The Euclidean algorithm is based on the principle that the
|
||||
greatest common divisor of two numbers does not change if
|
||||
the larger number is replaced by its difference with the
|
||||
smaller number. For example, `21` is the GCD of `252` and
|
||||
`105` (as `252 = 21 × 12` and `105 = 21 × 5`), and the same
|
||||
number `21` is also the GCD of `105` and `252 − 105 = 147`.
|
||||
Since this replacement reduces the larger of the two numbers,
|
||||
repeating this process gives successively smaller pairs of
|
||||
numbers until the two numbers become equal.
|
||||
When that occurs, they are the GCD of the original two numbers.
|
||||
|
||||
By reversing the steps, the GCD can be expressed as a sum of
|
||||
the two original numbers each multiplied by a positive or
|
||||
negative integer, e.g., `21 = 5 × 105 + (−2) × 252`.
|
||||
The fact that the GCD can always be expressed in this way is
|
||||
By reversing the steps, the GCD can be expressed as a sum of
|
||||
the two original numbers each multiplied by a positive or
|
||||
negative integer, e.g., `21 = 5 × 105 + (−2) × 252`.
|
||||
The fact that the GCD can always be expressed in this way is
|
||||
known as Bézout's identity.
|
||||
|
||||

|
||||
|
||||
Euclid's method for finding the greatest common divisor (GCD)
|
||||
of two starting lengths `BA` and `DC`, both defined to be
|
||||
multiples of a common "unit" length. The length `DC` being
|
||||
shorter, it is used to "measure" `BA`, but only once because
|
||||
remainder `EA` is less than `DC`. EA now measures (twice)
|
||||
the shorter length `DC`, with remainder `FC` shorter than `EA`.
|
||||
Then `FC` measures (three times) length `EA`. Because there is
|
||||
no remainder, the process ends with `FC` being the `GCD`.
|
||||
On the right Nicomachus' example with numbers `49` and `21`
|
||||
Euclid's method for finding the greatest common divisor (GCD)
|
||||
of two starting lengths `BA` and `DC`, both defined to be
|
||||
multiples of a common "unit" length. The length `DC` being
|
||||
shorter, it is used to "measure" `BA`, but only once because
|
||||
remainder `EA` is less than `DC`. EA now measures (twice)
|
||||
the shorter length `DC`, with remainder `FC` shorter than `EA`.
|
||||
Then `FC` measures (three times) length `EA`. Because there is
|
||||
no remainder, the process ends with `FC` being the `GCD`.
|
||||
On the right Nicomachus' example with numbers `49` and `21`
|
||||
resulting in their GCD of `7` (derived from Heath 1908:300).
|
||||
|
||||

|
||||
|
||||
A `24-by-60` rectangle is covered with ten `12-by-12` square
|
||||
tiles, where `12` is the GCD of `24` and `60`. More generally,
|
||||
an `a-by-b` rectangle can be covered with square tiles of
|
||||
A `24-by-60` rectangle is covered with ten `12-by-12` square
|
||||
tiles, where `12` is the GCD of `24` and `60`. More generally,
|
||||
an `a-by-b` rectangle can be covered with square tiles of
|
||||
side-length `c` only if `c` is a common divisor of `a` and `b`.
|
||||
|
||||

|
||||
|
||||
Subtraction-based animation of the Euclidean algorithm.
|
||||
The initial rectangle has dimensions `a = 1071` and `b = 462`.
|
||||
Squares of size `462×462` are placed within it leaving a
|
||||
`462×147` rectangle. This rectangle is tiled with `147×147`
|
||||
squares until a `21×147` rectangle is left, which in turn is
|
||||
tiled with `21×21` squares, leaving no uncovered area.
|
||||
Subtraction-based animation of the Euclidean algorithm.
|
||||
The initial rectangle has dimensions `a = 1071` and `b = 462`.
|
||||
Squares of size `462×462` are placed within it leaving a
|
||||
`462×147` rectangle. This rectangle is tiled with `147×147`
|
||||
squares until a `21×147` rectangle is left, which in turn is
|
||||
tiled with `21×21` squares, leaving no uncovered area.
|
||||
The smallest square size, `21`, is the GCD of `1071` and `462`.
|
||||
|
||||
## References
|
||||
|
||||
Reference in New Issue
Block a user