Saltar al contenido

Encuentra el número N, donde (N+X) es divisible por Y y (NY) es divisible por X

Mejorar artículo

Guardar artículo

Me gusta el artículo

Mejorar artículo

Guardar artículo

Dos dígitos dados X y Y. la tarea es encontrar el numero norte (norte ≤ 10^18) que cumple estas dos condiciones:

  • (N + X) es divisible por Y
  • (NUEVA JERSEY) es divisible por X

Ejemplos:

Aporte: X = 18, Y = 42
Salida:780

Aporte: X = 100, Y = 200
Salida: 500

Acercarse: El problema se puede resolver a partir de la siguiente idea:

Podemos implementar el concepto matemático simple del sistema numérico.

  • N + X = Y …………(yo)
  • N – Y = X …………(ii)

Normaliza la ecuación que podemos obtener. N puede ser igual a (X*Y – X + Y). También cumple estas dos condiciones. Entonces la respuesta es (X * Y – X + Y).

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

C++

#include <iostream>

using namespace std;

#define int long long int

 

int FindN(int x, int y)

{

 

    

    int N = (x * y) - x + y;

 

    

    return N;

}

 

signed main()

{

 

    int X = 18, Y = 42;

 

    

    cout << FindN(X, Y);

    return 0;

}

Complejidad del tiempo: O(1)
cuarto auxiliar: O(1)