Skip to content
Related Articles

Related Articles

Reduce a fraction to its simplest form by using JavaScript
  • Last Updated : 19 Nov, 2019
GeeksforGeeks - Summer Carnival Banner

A fraction is simplified if there are no common factors (except 1) between the numerator and the denominator. For example, 4/6 is not simplified, since 4 and 6 both share 2 as a factor. If improper fractions can be transformed into integers. There are two possible ways to simplify the fraction by using JavaScript.

Below examples will illustrate the approach:

Using math.js simplify() function: In this function few rules are applied on the expression, you can create your own custom made rules. Basically this function is like lambda function. Where you can make the rules according to your requirements.

  • Example:
    Input :simplify("4/6") 
    Output :"2/3"
  • Program:




    <script type = "text/javaScript">
      
    // main function
    function simplify(str) {
        var result = '', data = str.split('/'), 
            numOne = Number(data[0]), 
            numTwo = Number(data[1]);
        for (var i = Math.max(numOne, numTwo); i > 1; i--) {
        if ((numOne % i == 0) && (numTwo % i == 0)) {
            numOne /= i;
            numTwo /= i;
        }
        }
        if (numTwo === 1) {
        result = numOne.toString()
        } else {
        result = numOne.toString() + '/' + numTwo.toString()
        }
        return result
    }
    document.write(simplify("4/6") + "<br>");
      
    document.write(simplify(84810,985612));
      
    </script>                    
  • Output:
    2/3
    42405/492806

Using JavaScript _.reduce() function: The _.reduce() is an inbuilt function in JavaScript which is used to transform an array’s / object’s properties into one single value or is used to create a single result from a given list of values. When all the elements of the list are passed to the function/iterate and no more elements remain then the _.each loop ends. Here we will find the GCD of those numbers and dividing it by GCD we can make the output simpler.

  • Example:
    Input: 15, 20
    Output: 3,4
  • Program:




    <script type = "text/javaScript">
      
    // Simplified fraction by finding the GCD and dividing by it.
    function reduce(numer,denomin){
      var gcd = function gcd(a,b){
        return b ? gcd(b, a%b) : a;
      };
      gcd = gcd(numer,denomin);
      return [numer/gcd, denomin/gcd];
    }
      
    document.write(reduce(15,20) + "<br>");
      
    document.write(reduce(84810,985612));
    </script>                    
  • Output:
    3,4
    42405,492806

full-stack-img




My Personal Notes arrow_drop_up
Recommended Articles
Page :