Dado un entero K , la tarea es encontrar un par de números (A, B) tales que A – B = K y A / B = K. Si no se puede generar tal par, imprima “No” .
Ejemplos:
Entrada: K = 6
Salida: 7.2 1.2
Explicación:
Dado que 7.2 – 1.2 = 6 y 7.2 / 1.2 = 6, el par {7.2, 1.2} satisface las condiciones necesarias.Entrada: K = 1
Salida: No
Enfoque:
Las siguientes observaciones son necesarias para resolver el problema:
- Las condiciones dadas se pueden escribir en forma de ecuaciones como:
- Ecuación (1): A – B = K => A – B – K = 0
- Ecuación (2): A / B = K => A – (K * B) = 0
- Resolviendo estas dos ecuaciones, obtenemos:
( K * Ecuación (1) ) – Ecuación (2) = 0
=> K*A – K*B – K 2 – (A – K*B) = 0
=> K*A – K 2 – A – K* B + K*B = 0
=> A*(K-1) – K 2 = 0
=> A*(K-1) = K 2
=> A = K 2 / (K -1)
- Reemplazando el valor de A en la Ecuación (1), se puede obtener el valor de B como K / (K – 1)
- Se puede observar que si el valor de K es 1 , entonces no se puede encontrar tal par ya que el denominador de A y B se convierte en 0.
Siga los pasos a continuación para resolver el problema:
- Si K es igual a 1 , imprima “NO” .
- De lo contrario, si K es igual a cualquier valor que no sea 0 , calcule los valores (K*K) / (K -1) y K / (K – 1) e imprímalos.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ Program to implement // the above problem #include <bits/stdc++.h> using namespace std; // Function to find the // required pair void computePair(double K) { // No pair possible if (K == 1) { cout << "No"; return; } else { cout << K * K / (K - 1) << " "; cout << K / (K - 1) << endl; } } // Driver Code int main() { double K = 6; computePair(K); return 0; }
Java
// Java program to implement // the above problem class GFG{ // Function to find the // required pair static void computePair(double K) { // No pair possible if (K == 1) { System.out.print("No"); return; } else { System.out.print(K * K / (K - 1) + " "); System.out.print(K / (K - 1) + "\n"); } } // Driver Code public static void main(String[] args) { double K = 6; computePair(K); } } // This code is contributed by Rajput-Ji
Python3
# Python3 program to implement # the above problem # Function to find the # required pair def computePair(K): # No pair possible if (K == 1): print("No") return else: print(K * K / (K - 1), end = " ") print(K / (K - 1)) # Driver Code if __name__ == "__main__": K = 6 computePair(K) # This code is contributed by chitranayal
C#
// C# program to implement // the above problem using System; class GFG{ // Function to find the // required pair static void computePair(double K) { // No pair possible if (K == 1) { Console.Write("No"); return; } else { Console.Write(K * K / (K - 1) + " "); Console.Write(K / (K - 1) + "\n"); } } // Driver Code public static void Main(String[] args) { double K = 6; computePair(K); } } // This code is contributed by gauravrajput1
Javascript
<script> // Javascript Program to implement // the above problem // Function to find the // required pair function computePair(K) { // No pair possible if (K == 1) { document.write( "No"); return; } else { document.write( K * K / (K - 1) + " "); document.write( K / (K - 1) ); } } // Driver Code var K = 6; computePair(K); // This code is contributed by rutvik_56. </script>
7.2 1.2
Complejidad Temporal: O(1)
Espacio Auxiliar; O(1)