Encuentre ΔX que se suma al numerador y al denominador de la fracción (a/b) para convertirlo en otra fracción (c/d)

Dada una fracción en forma de a/b donde a & b son números enteros positivos. Encuentre ΔX tal que cuando se suma al numerador y al denominador de una fracción dada, dará como resultado una nueva fracción reducible por Ir c/d. 
Ejemplos: 
 

Input : a = 4, b = 10, c = 1, d = 2
Output : ΔX = 2
Explanation : (a + ΔX)/(b + ΔX) =
 (4 + 2) / (10 + 2) = 6/12 = 1/2 = c/d

Input : a = 4, b = 10, c = 2, d = 5
Output : ΔX = 0
Explanation : (a + ΔX) / (b + ΔX) = 
(4) / (10) = 2 / 5 = c/d

Para resolver este tipo de problema, en lugar de implementar solo un enfoque de programación, tenemos que hacer un poco de matemáticas. las matemáticas solo necesarias es como: 
 

As per question we have to find ΔX such that:
=> (a + ΔX) / (b + ΔX) = c / d
=> ad + dΔX = bc + cΔX
=> dΔX - cΔX = bc - ad
=> ΔX (d - c) = bc -ad
=> ΔX = (bc - ad) / (d - c)

Entonces, para encontrar ΔX solo tenemos que calcular 
 

C++

// C++ Program to find deltaX
#include <bits/stdc++.h>
using namespace std;
 
// function to find delta X
int findDelta(int a, int b, int c, int d)
{
    return (b * c - a * d) / (d - c);
}
 
// driver program
int main()
{
    int a = 3, b = 9, c = 3, d = 5;
 
    // u0394X is code for delta sign
    cout << "\u0394X = " << findDelta(a, b, c, d);
    return 0;
}

Java

// Java Program to
// find deltaX
import java.io.*;
 
class GFG
{
    // function to find delta X
    static int findDelta(int a, int b,
                         int c, int d)
    {
        return (b * c - a *
                d) / (d - c);
    }
     
    // Driver Code
    public static void main(String args[])
    {
        int a = 3, b = 9,
            c = 3, d = 5;
     
        // u0394X is code
        // for delta sign
        System.out.print("\u0394X = " +
                findDelta(a, b, c, d));
    }
}
 
// This code is contributed
// by Manish Shaw(manishshaw1)

Python3

# Python Program to find deltaX
# !/usr/bin/python
# coding=utf-8
 
# function to find delta X
def findDelta(a, b, c, d) :
 
    return int((b * c -
                a * d) /
               (d - c));
 
# Driver Code
a = 3; b = 9;
c = 3; d = 5;
 
# u0394X is code
# for delta sign
print ("X = {}" .
        format(findDelta(a, b,
                         c, d)));
 
# This code is contributed by
# Manish Shaw(manishshaw1)

C#

// C# Program to
// find deltaX
using System;
 
class GFG
{
// function to find delta X
static int findDelta(int a, int b,
                     int c, int d)
{
    return (b * c - a *
            d) / (d - c);
}
 
// Driver Code
static void Main()
{
    int a = 3, b = 9,
        c = 3, d = 5;
 
    // u0394X is code
    // for delta sign
    Console.Write("\u0394X = " +
                  findDelta(a, b, c, d));
}
}
 
// This code is contributed
// by Manish Shaw(manishshaw1)

PHP

<?php
// PHP Program to find deltaX
 
// function to find delta X
function findDelta($a, $b,
                   $c, $d)
{
    return ($b * $c -
            $a * $d) / ($d - $c);
}
 
// Driver Code
$a = 3; $b = 9;
$c = 3; $d = 5;
 
// u0394X is code for delta sign
echo "?X = ".findDelta($a, $b,
                       $c, $d);
 
// This code is contributed by
// Manish Shaw(manishshaw1)
?>

Javascript

<script>
// JavaScript Program to
// find deltaX
 
 // function to find delta X
    function findDelta(a, b, c, d)
    {
        return (b * c - a *
                d) / (d - c);
    }
   
// Driver Code
        let a = 3, b = 9,
            c = 3, d = 5;
       
        // u0394X is code
        // for delta sign
        document.write("\u0394X = " +
                findDelta(a, b, c, d));
 
// This code is contributed by splevel62.
</script>

Producción: 
 

ΔX = 6

Tiempo Complejidad: O(1)
Espacio Auxiliar: O(1)

Publicación traducida automáticamente

Artículo escrito por Shivam.Pradhan 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 *