VOOZH about

URL: https://www.geeksforgeeks.org/dsa/gcd-two-numbers-formed-n-repeating-x-y-times/

⇱ GCD of two numbers formed by n repeating x and y times - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

GCD of two numbers formed by n repeating x and y times

Last Updated : 23 Jul, 2025

Given three positive integer n, x, y. The task is to print Greatest Common Divisor of numbers formed by n repeating x times and number formed by n repeating y times. 
0 <= n, x, y <= 1000000000.
Examples : 
 

Input : n = 123, x = 2, y = 3.
Output : 123
Number formed are 123123 and 123123123.
Greatest Common Divisor of 123123 and
123123123 is 123.

Input : n = 4, x = 4, y = 6.
Output : 44


 

Recommended Practice


The idea is based on Euclidean algorithm to compute GCD of two number
Let f(n, x) be a function which gives a number n repeated x times. So, we need to find GCD(f(n, x), f(n, y)).
Let n = 123, x = 3, y = 2. 
So, first number A is f(123, 3) = 123123123 and second number B is f(123, 2) = 123123. We know, GCD(A,B) = GCD(A - B, B), using this property we can subtract any multiple of B, say B' from first A as long as B' is smaller than A. 
So, A = 123123123 and B' can be 123123000. On subtracting A will became 123 and B remains same. 
Therefore, A = A - B' = f(n, x - y). 
So, GCD(f(n, x), f(n, y)) = GCD(f(n, x - y), f(n, y))
We can conclude following, 

GCD(f(n, x), f(n, y)) = f(n, GCD(x, y)). 


Below is the implementation based on this approach:
 

Output : 

123

Time Complexity: O(log(min(n)) ) 
Auxiliary Space: O(log(min(n))


 

Comment
Article Tags: