Par de enteros con diferencia K que tienen un elemento como el K-ésimo múltiplo del otro

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: 
    1. Ecuación (1): A – B = K => A – B – K = 0
    2. 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>
Producción: 

7.2 1.2

 

Complejidad Temporal: O(1)  
Espacio Auxiliar; O(1)
 

Publicación traducida automáticamente

Artículo escrito por spp____ 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 *