Reduce the fraction to its lowest form
Given two integers x and y and where x is divisible by y. It can be represented in the form of a fraction x/y. The task is to reduce the fraction to its lowest form.
Examples:
Input : x = 16, y = 10 Output : x = 8, y = 5 Input : x = 10, y = 8 Output : x = 5, y = 4
Approach: Both of the values x and y will be divisible by their greatest common divisor. So if we divide x and y from the gcd(x, y) then x and y can be reduced to its simplest form.
Below is the implementation of the above approach:
C++
// C++ program to reduce a fraction x/y // to its lowest form #include <bits/stdc++.h> using namespace std; // Function to reduce a fraction to its lowest form void reduceFraction( int x, int y) { int d; d = __gcd(x, y); x = x / d; y = y / d; cout << "x = " << x << ", y = " << y << endl; } // Driver Code int main() { int x = 16; int y = 10; reduceFraction(x, y); return 0; } |
Java
// Java program to reduce a fraction x/y // to its lowest form class GFG { // Function to reduce a fraction to its lowest form static void reduceFraction( int x, int y) { int d; d = __gcd(x, y); x = x / d; y = y / d; System.out.println( "x = " + x + ", y = " + y); } static int __gcd( int a, int b) { if (b == 0 ) return a; return __gcd(b, a % b); } // Driver Code public static void main(String[] args) { int x = 16 ; int y = 10 ; reduceFraction(x, y); } } /* This code contributed by PrinciRaj1992 */ |
Python3
# Python3 program to reduce a fraction x/y # to its lowest form from math import gcd # Function to reduce a fraction # to its lowest form def reduceFraction(x, y) : d = gcd(x, y); x = x / / d; y = y / / d; print ( "x =" , x, ", y =" , y); # Driver Code if __name__ = = "__main__" : x = 16 ; y = 10 ; reduceFraction(x, y); # This code is contributed by Ryuga |
C#
// C# program to reduce a fraction x/y // to its lowest form using System; class GFG { // Function to reduce a fraction to its lowest form static void reduceFraction( int x, int y) { int d; d = __gcd(x, y); x = x / d; y = y / d; Console.WriteLine( "x = " + x + ", y = " + y); } static int __gcd( int a, int b) { if (b == 0) return a; return __gcd(b, a % b); } // Driver Code public static void Main(String[] args) { int x = 16; int y = 10; reduceFraction(x, y); } } // This code has been contributed by 29AjayKumar |
PHP
<?php // PHP program to reduce a fraction x/y // to its lowest form // Function to reduce a fraction to its lowest form function reduceFraction( $x , $y ) { $d ; $d = __gcd( $x , $y ); $x = $x / $d ; $y = $y / $d ; echo ( "x = " . $x . ", y = " . $y ); } function __gcd( $a , $b ) { if ( $b == 0) return $a ; return __gcd( $b , $a % $b ); } // Driver Code $x = 16; $y = 10; reduceFraction( $x , $y ); // This code is contributed by Rajput-Ji ?> |
Javascript
<script> // Javascript program to reduce a fraction x/y // to its lowest form // Function to reduce a fraction to its lowest form function reduceFraction(x, y) { let d; d = __gcd(x, y); x = parseInt(x / d); y = parseInt(y / d); document.write( "x = " + x + ", y = " + y); } function __gcd(a, b) { if (b == 0) return a; return __gcd(b, a % b); } // Driver Code let x = 16; let y = 10; reduceFraction(x, y); </script> |
Output:
x = 8, y = 5
Time Complexity: O(log(max(x,y)))
Auxiliary Space: O(log(max(x,y)))
Please Login to comment...