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 = 10Output :x = 8, y = 5Input :x = 10, y = 8Output :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 contriuted by Rajput-Ji` `?>` |

**Output**:

x = 8, y = 5

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready.