What does GCD stand for and what does it represent?
GCD stands for Greatest Common Divisor. It is the largest number that divides two or more numbers without leaving a remainder.
Click to reveal answer
beginner
What is the main idea behind the Euclidean Algorithm for finding GCD?
The Euclidean Algorithm finds the GCD by repeatedly replacing the larger number by the remainder when the larger number is divided by the smaller number, until the remainder is zero. The last non-zero remainder is the GCD.
Click to reveal answer
beginner
How is LCM related to GCD for two numbers a and b?
LCM (Least Common Multiple) and GCD are related by the formula: LCM(a, b) = (a × b) / GCD(a, b). This means once you know the GCD, you can find the LCM easily.
Click to reveal answer
beginner
What is the base case in the Euclidean Algorithm for GCD?
The base case is when the second number becomes zero. At this point, the first number is the GCD.
Click to reveal answer
intermediate
Why is the Euclidean Algorithm efficient compared to checking all divisors?
The Euclidean Algorithm uses division and remainders to reduce the problem size quickly, avoiding checking all possible divisors. This makes it much faster especially for large numbers.
Click to reveal answer
What is the GCD of 48 and 18 using the Euclidean Algorithm?
A6
B12
C18
D3
✗ Incorrect
48 % 18 = 12, 18 % 12 = 6, 12 % 6 = 0, so GCD is 6.
Which step ends the Euclidean Algorithm?
AWhen numbers are equal
BWhen remainder is zero
CWhen one number is 1
DWhen both numbers are prime
✗ Incorrect
The algorithm stops when the remainder becomes zero.
If GCD(15, 25) = 5, what is LCM(15, 25)?
A125
B50
C75
D30
✗ Incorrect
LCM = (15 × 25) / 5 = 375 / 5 = 75.
What is the first remainder when finding GCD of 56 and 15?
A7
B15
C1
D11
✗ Incorrect
56 % 15 = 11, so first remainder is 11.
Which of these is NOT true about the Euclidean Algorithm?
AIt uses subtraction only
BIt uses division and remainder
CIt reduces problem size each step
DIt finds GCD efficiently
✗ Incorrect
The Euclidean Algorithm uses division and remainder, not just subtraction.
Explain how the Euclidean Algorithm finds the GCD of two numbers step-by-step.
Think about dividing and replacing numbers until remainder is zero.
You got /4 concepts.
Describe the relationship between GCD and LCM and how to calculate LCM using GCD.
Use multiplication and division with GCD.
You got /3 concepts.
Practice
(1/5)
1. What does the Euclidean algorithm primarily calculate between two numbers a and b?
easy
A. The sum of the numbers
B. The Least Common Multiple (LCM)
C. The Greatest Common Divisor (GCD)
D. The difference between the numbers
Solution
Step 1: Understand the Euclidean algorithm purpose
The Euclidean algorithm is designed to find the greatest common divisor (GCD) of two integers by repeatedly applying the remainder operation.
Step 2: Differentiate GCD from LCM and others
While LCM is related to GCD, the Euclidean algorithm directly computes GCD, not LCM or sums/differences.
Final Answer:
The Greatest Common Divisor (GCD) -> Option C
Quick Check:
Euclidean algorithm = GCD [OK]
Hint: Euclidean algorithm finds GCD, not LCM or sums [OK]
Common Mistakes:
Confusing GCD with LCM
Thinking it calculates sum or difference
Assuming it finds prime factors directly
2. Which of the following Java method signatures correctly represents a function to compute the GCD of two integers using the Euclidean algorithm?
easy
A. public static int gcd(int a, int b)
B. public int gcd(int a, int b, int c)
C. static void gcd(int a, int b)
D. public static int gcd()
Solution
Step 1: Check method parameters and return type
The method should take two integers as input and return an integer representing the GCD.
Step 2: Validate method signature correctness
public static int gcd(int a, int b) matches this: it is static, returns int, and takes two int parameters. Others have wrong parameters or return type.
Final Answer:
public static int gcd(int a, int b) -> Option A
Quick Check:
Correct signature = public static int gcd(int a, int b) [OK]
Hint: GCD method needs two int inputs and int return [OK]
Common Mistakes:
Adding extra parameters unnecessarily
Using void return type instead of int
Omitting static keyword when needed
3. What is the output of the following Java code snippet?
public class Test {
public static int gcd(int a, int b) {
if (b == 0) return a;
return gcd(b, a % b);
}
public static void main(String[] args) {
System.out.println(gcd(48, 18));
}
}
medium
A. 6
B. 12
C. 18
D. 3
Solution
Step 1: Trace gcd(48, 18) calls
gcd(48,18) calls gcd(18, 48%18=12), then gcd(18,12) calls gcd(12, 18%12=6), then gcd(12,6) calls gcd(6, 12%6=0), returns 6.
Step 2: Final return value
When second parameter is 0, return first parameter which is 6.
Final Answer:
6 -> Option A
Quick Check:
GCD(48,18) = 6 [OK]
Hint: Use remainder until second number is zero [OK]
Common Mistakes:
Stopping too early without full recursion
Mixing up modulo operation
Returning wrong variable when b=0
4. Identify the error in the following Java method for computing LCM using GCD and fix it:
public static int lcm(int a, int b) {
return a * b / gcd(a, b);
}
public static int gcd(int a, int b) {
while (b != 0) {
int temp = a % b;
a = b;
b = temp;
}
return a;
}
medium
A. Return b instead of a in gcd method
B. gcd method should be static void
C. No error; code is correct
D. Use Math.abs(a * b) to avoid negative LCM
Solution
Step 1: Analyze LCM calculation
LCM is calculated as (a * b) / GCD(a, b). If a or b is negative, product can be negative, causing wrong LCM.
Step 2: Fix negative product issue
Use Math.abs(a * b) to ensure LCM is always positive.
Final Answer:
Use Math.abs(a * b) to avoid negative LCM -> Option D
Quick Check:
LCM must be positive; abs fixes sign [OK]
Hint: Use absolute value for product in LCM formula [OK]
Common Mistakes:
Ignoring negative inputs causing wrong LCM
Changing gcd return type incorrectly
Returning wrong variable in gcd method
5. Given an array of integers nums = {12, 15, 20}, which Java code snippet correctly computes the LCM of all elements using the Euclidean algorithm?
hard
A. int lcm = 1; for(int i=0; i
B. int lcm = nums[0]; for(int i=1; i
C. int lcm = nums[0]; for(int i=1; i
D. int lcm = 0; for(int i=0; i
Solution
Step 1: Understand LCM of multiple numbers
LCM of multiple numbers can be found by iteratively computing LCM of pairs: lcm(a,b,c) = lcm(lcm(a,b), c).
Step 2: Check code correctness
int lcm = nums[0]; for(int i=1; i
Final Answer:
int lcm = nums[0]; for(int i=1; i -> Option B
Quick Check:
Iterative LCM with gcd formula works [OK]
Hint: Iterate LCM pairwise using lcm = (a*b)/gcd(a,b) [OK]
Common Mistakes:
Using gcd instead of lcm in loop
Summing elements instead of computing LCM
Starting lcm from 0 causing division errors
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.