Encuentre dos números A y B de dígitos X e Y respectivamente con GCD que tiene dígitos Z

Dados tres números enteros positivos X , Y y Z . La tarea es encontrar dos números A y B de dígitos X e Y respectivamente con su GCD que tiene dígitos Z. donde Z ≤ min(X, Y) . Si hay varias respuestas posibles, imprima cualquiera de ellas.

Ejemplos :

Entrada : X = 2, Y = 3, Z = 1
Salida : A = 11, B = 100 
Explicación : A y B contienen 2 y 3 dígitos respectivamente y GCD (A, B) es 1 que tiene 1 dígito.

Entrada : X = 2, Y = 2, Z = 2
Salida : A = 13, B = 26

 

Enfoque : La tarea se puede resolver usando algunas observaciones. Calcule A igual a 10 x-1 , B a 10 y-1 y C a 10 z-1 . Incremente A con C para lograr GCD con Z dígitos. Siga los pasos a continuación para resolver el problema:

  • Inicialice 3 variables A, B, C con 1.
  • Agregue Z -1 ceros con C.
  • Agregue X – 1 ceros en el último de A.
  • Agregue Y – 1 cero en el último de B.
  • Incrementa A por el valor de C.
  • Escriba A y B como respuesta.

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ program for the above approach
#include <bits/stdc++.h>
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

<script>
    // JavaScript code for the above approach
 
 
    // Function to find the desired numbers
    function findTwoNumbers(X, Y, Z) {
 
        let A, B, C;
        A = B = C = 1;
 
        for (let i = 1; i <= X - 1; i++) {
            A = A * 10;
        }
        for (let i = 1; i <= Y - 1; i++) {
            B = B * 10;
        }
        for (let i = 1; i <= Z - 1; i++) {
            C = C * 10;
        }
 
        A = A + C;
 
        document.write("A = " + A + " B = " + B);
    }
 
    // Driver Code
 
    let X = 2, Y = 3, Z = 1;
    findTwoNumbers(X, Y, Z);
 
   // This code is contributed by Potta Lokesh
</script>
Producción

A = 11 B = 100

Complejidad de tiempo : O(max(X, Y))
Espacio auxiliar : O(1)

Publicación traducida automáticamente

Artículo escrito por hrithikgarg03188 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *