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>
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