# Find two numbers A and B of X and Y digits respectively with GCD having Z digits

• Last Updated : 09 Feb, 2022

Given three positive integers X, Y, and Z. The task is to find two numbers A and B of X and Y digits respectively with their GCD having Z digits. where Z ≤ min(X, Y). If there are multiple possible answers print any of them.

Examples:

Input: X = 2, Y = 3, Z = 1
Output: A = 11, B = 100
Explanation: A and B contains 2 and 3 digits respectively and GCD(A, B) is 1 which has 1 digit.

Input: X = 2, Y = 2, Z = 2
Output: A = 13, B = 26

Approach: The task can be solved using some observations. Calculate A equals 10x-1, B as 10y-1, and C as 10z-1. Increment A with C to achieve GCD with Z digits. Follow the below steps to solve the problem:

• Initialize 3 variables A, B, C with 1.
• Append Z -1 zeroes with C.
• Append X – 1 zeroes in last of A.
• Append Y – 1 zero in last of B.
• Increment A by the value of C.
• Print A and B as the answer.

Below is the implementation of the above approach:

## C++

 `// C++ program for the above approach` `#include ` `using` `namespace` `std;`   `// Function to find the desired numbers` `void` `findTwoNumbers(``int` `X, ``int` `Y, ``int` `Z)` `{`   `    ``int` `A, B, C;` `    ``A = B = C = 1;`   `    ``for` `(``int` `i = 1; i <= X - 1; i++) {` `        ``A = A * 10;` `    ``}` `    ``for` `(``int` `i = 1; i <= Y - 1; i++) {` `        ``B = B * 10;` `    ``}` `    ``for` `(``int` `i = 1; i <= Z - 1; i++) {` `        ``C = C * 10;` `    ``}`   `    ``A = A + C;`   `    ``cout << ``"A = "` `<< A << ``" B = "` `<< B;` `}`   `// Driver Code` `int` `main()` `{` `    ``int` `X = 2, Y = 3, Z = 1;` `    ``findTwoNumbers(X, Y, Z);` `    ``return` `0;` `}`

## Java

 `// Java program for the above approach` `class` `GFG {`   `  ``// Function to find the desired numbers` `  ``static` `void` `findTwoNumbers(``int` `X, ``int` `Y, ``int` `Z) {`   `    ``int` `A, B, C;` `    ``A = B = C = ``1``;`   `    ``for` `(``int` `i = ``1``; i <= X - ``1``; i++) {` `      ``A = A * ``10``;` `    ``}` `    ``for` `(``int` `i = ``1``; i <= Y - ``1``; i++) {` `      ``B = B * ``10``;` `    ``}` `    ``for` `(``int` `i = ``1``; i <= Z - ``1``; i++) {` `      ``C = C * ``10``;` `    ``}`   `    ``A = A + C;`   `    ``System.out.println(``"A = "` `+ A + ``" B = "` `+ B);` `  ``}`   `  ``// Driver Code` `  ``public` `static` `void` `main(String args[]) {` `    ``int` `X = ``2``, Y = ``3``, Z = ``1``;` `    ``findTwoNumbers(X, Y, Z);` `  ``}` `}`   `// This code is contributed by Saurabh Jaiswal`

## Python3

 `# python3 program for the above approach`   `# Function to find the desired numbers` `def` `findTwoNumbers(X, Y, Z):` `    ``A ``=` `B ``=` `C ``=` `1`   `    ``for` `i ``in` `range``(``1``, X):` `        ``A ``=` `A ``*` `10`   `    ``for` `i ``in` `range``(``1``, Y):` `        ``B ``=` `B ``*` `10`   `    ``for` `i ``in` `range``(``1``, Z):` `        ``C ``=` `C ``*` `10`   `    ``A ``=` `A ``+` `C`   `    ``print``(f``"A = {A} B = {B}"``)`   `# Driver Code` `if` `__name__ ``=``=` `"__main__"``:`   `    ``X, Y, Z ``=` `2``, ``3``, ``1` `    ``findTwoNumbers(X, Y, Z)`   `    ``# This code is contributed by rakeshsahni`

## C#

 `// C# program for the above approach` `using` `System;` `public` `class` `GFG` `{` `  `  `// Function to find the desired numbers` `static` `void` `findTwoNumbers(``int` `X, ``int` `Y, ``int` `Z)` `{`   `    ``int` `A, B, C;` `    ``A = B = C = 1;`   `    ``for` `(``int` `i = 1; i <= X - 1; i++) {` `        ``A = A * 10;` `    ``}` `    ``for` `(``int` `i = 1; i <= Y - 1; i++) {` `        ``B = B * 10;` `    ``}` `    ``for` `(``int` `i = 1; i <= Z - 1; i++) {` `        ``C = C * 10;` `    ``}`   `    ``A = A + C;`   `    ``Console.Write(``"A = "` `+ A + ``" B = "` `+ B);` `}`   `// Driver Code` `public` `static` `void` `Main()` `{` `    ``int` `X = 2, Y = 3, Z = 1;` `    ``findTwoNumbers(X, Y, Z);` `}` `}`   `// This code is contributed by Samim Hossain Mondal.`

## Javascript

 ``

Output

`A = 11 B = 100`

Time Complexity: O(max(X, Y))
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up
Recommended Articles
Page :