- Trending Categories
- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP

- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who

# Reduce the fraction to its lowest form in C++

Given two integers Num1 and Num2 as input. The integers can be represented as fraction **Num1/Num2**. The goal is to reduce this fraction to its lowest form.

## Using GCD to find highest denominator

We will calculate the greatest common divisor of both numbers.

Divide both numbers by that gcd

Set both variables as quotient after division.

Lowest fraction will be Num1/Num2.

## Examples

**Input **− Num1=22 Num2=10

**Output **− Num1 = 11 Num2 = 5

Lowest Fraction : 11/5

**Explanation**− GCD of 22 and 10 is 2.

22/2=11 and 10/2=5

Lowest fraction is 11/5

**Input**− Num1=36 Num2=40

**Output**− Num1 = 9 Num2 = 10

Lowest Fraction : 9/10

**Explanation** − GCD of 36 and 40 is 4.

40/4=10 and 36/4=9

Lowest fraction is 9/10

## Approach used in the below program is as follows

In this approach we will first calculate the GCD of input numbers using a recursive approach. Divide both numbers by GCD and obtain quotients. These quotients will be part of the lowest fraction.

Take the input variables Num1 and Num2.

Function findGCD(int a, int b) takes num1 and num2 and returns the gcd of both.

If b is 0 return a else return findGCD(b,a%b).

Function lowestFraction(int num1, int num2) takes both numbers as input and prints the lowest fraction.

Take variable denom for gcd.

Set num1=num1/denom and num2=num2/denom.

Print num1 and num2.

Print the lowest fraction as num1/num2.

## Example

#include <bits/stdc++.h> using namespace std; int findGCD(int a, int b) { if (b == 0) return a; return findGCD(b, a % b); } void lowestFraction(int num1, int num2){ int denom; denom = findGCD(num1,num2); num1/=denom; num2/=denom; cout<< "Num1 = " << num1<<endl; cout<< "Num2 = " << num2<<endl; cout<< "Lowest Fraction : "<<num1<<"/"<<num2; } int main(){ int Num1 = 14; int Num2 = 8; lowestFraction(Num1,Num2); return 0; }

## Output

If we run the above code it will generate the following Output

Num1 = 7 Num2 = 4 Lowest Fraction : 7/4

- Related Questions & Answers
- Encoding string to reduce its size in JavaScript
- Write a C program to reduce any fraction to least terms using while loop
- How to reduce a matrix in R to echelon form?
- Converting a proper fraction to mixed fraction - JavaScript
- C program to convert decimal fraction to binary fraction
- Program to encode a string in normal form to its run-length form in Python
- Fraction module in Python
- Fraction to Recurring Decimal in C++
- How to reduce an array while merging one of its field as well in JavaScript
- Convert decimal fraction to binary number in C++
- How to display fraction in base R plot?
- Write a Golang program to convert a binary number to its decimal form
- Write a Golang program to convert a decimal number to its binary form
- Maximum adjacent difference in an array in its sorted form in C++
- Reduce Array Size to The Half in C++