JSFiddle - React, Tailwind, and code Playground

by Pankaj Kargirwar

JavaScript

function decimalToFractions(decimal) {
  const fractions = [];
  let remaining = decimal;
  let denominator = 2;

  while (remaining > 0) {
    if (1 / denominator <= remaining) {
      fractions.push(1 / denominator);
      remaining -= 1 / denominator;
    }
    denominator++;
  }

  return fractions;
}

// Examples
const number1 = 2.75;
const fractions1 = decimalToFractions(number1);
console.log(fractions1); // [1, 1, 0.5, 0.25]

const number2 = 3;
const fractions2 = decimalToFractions(number2);
console.log(fractions2); // [1, 1, 1]

const number3 = 1.25;
const fractions3 = decimalToFractions(number3);
console.log(fractions3); // [1, 0.25]

const number4 = 1.375;
const fractions4 = decimalToFractions(number4);
console.log(fractions4); // [1, 0.25, 0.125]