75 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: Greatest Common Divisor Euclidean
 | 
						|
---
 | 
						|
## Greatest Common Divisor Euclidean
 | 
						|
 | 
						|
For this topic you must know about Greatest Common Divisor (GCD) and the MOD operation first.
 | 
						|
 | 
						|
#### Greatest Common Divisor (GCD)
 | 
						|
The GCD of two or more integers is the largest integer that divides each of the integers such that their remainder is zero.
 | 
						|
 | 
						|
Example-  
 | 
						|
GCD of 20, 30 = 10 *(10 is the largest number which divides 20 and 30 with remainder as 0)*  
 | 
						|
GCD of 42, 120, 285 = 3 *(3 is the largest number which divides 42, 120 and 285 with remainder as 0)*  
 | 
						|
 | 
						|
#### "mod" Operation
 | 
						|
The mod operation gives you the remainder when two positive integers are divided.
 | 
						|
We write it as follows-  
 | 
						|
`A mod B = R`
 | 
						|
 | 
						|
This means, dividing A by B gives you the remainder R, this is different than your division operation which gives you the quotient.
 | 
						|
 | 
						|
Example-  
 | 
						|
7 mod 2 = 1 *(Dividing 7 by 2 gives the remainder 1)*  
 | 
						|
42 mod 7 = 0 *(Dividing 42 by 7 gives the remainder 0)*  
 | 
						|
 | 
						|
With the above two concepts understood you will easily understand the Euclidean Algorithm.
 | 
						|
 | 
						|
### Euclidean Algorithm for Greatest Common Divisor (GCD)
 | 
						|
The Euclidean Algorithm finds the GCD of 2 numbers.
 | 
						|
 | 
						|
You will better understand this Algorithm by seeing it in action.
 | 
						|
Assuming you want to calculate the GCD of  1220 and 516, lets apply the Euclidean Algorithm-  
 | 
						|
 | 
						|
Assuming you want to calculate the GCD of  1220 and 516, lets apply the Euclidean Algorithm-
 | 
						|
  
 | 
						|
 | 
						|
Pseudo Code of the Algorithm-  
 | 
						|
Step 1: **Let `a, b` be the two numbers**  
 | 
						|
Step 2: **`a mod b = R`**  
 | 
						|
Step 3: **Let `a = b` and `b = R`**  
 | 
						|
Step 4: **Repeat Steps 2 and 3 until `a mod b` is greater than 0**  
 | 
						|
Step 5: **GCD = b**  
 | 
						|
Step 6: Finish  
 | 
						|
 | 
						|
Javascript Code to Perform GCD-
 | 
						|
```javascript
 | 
						|
function gcd(a, b) {
 | 
						|
  var R;
 | 
						|
  while ((a % b) > 0)  {
 | 
						|
    R = a % b;
 | 
						|
    a = b;
 | 
						|
    b = R;
 | 
						|
  }
 | 
						|
  return b;
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
Javascript Code to Perform GCD using Recursion-
 | 
						|
```javascript
 | 
						|
function gcd(a, b) {
 | 
						|
  if (b == 0)
 | 
						|
    return a;
 | 
						|
  else
 | 
						|
    return gcd(b, (a % b));
 | 
						|
}
 | 
						|
```
 | 
						|
 | 
						|
You can also use the Euclidean Algorithm to find GCD of more than two numbers.
 | 
						|
Since, GCD is associative, the following operation is valid- `GCD(a,b,c) == GCD(GCD(a,b), c)`
 | 
						|
 | 
						|
Calculate the GCD of the first two numbers, then find GCD of the result and the next number.
 | 
						|
Example- `GCD(203,91,77) == GCD(GCD(203,91),77) == GCD(7, 77) == 7`
 | 
						|
 | 
						|
You can find GCD of `n` numbers in the same way.
 |