Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for [old] Repeating Decimals by kurosawa4434
"use strict";
function convert(numerator, denominator) {
let result = Math.floor(numerator/denominator) + '.';
let n_dict = {};
let n = numerator % denominator * 10;
for (let i=2; i < denominator+2; i += 1) {
if (n_dict[n])
return result.slice(0, n_dict[n]) +'('+ result.slice(n_dict[n]) +')';
if (n === 0)
return result;
result += Math.floor(n/denominator);
n_dict[n] = i;
n = n % denominator * 10;
}
}
var assert = require('assert');
if (!global.is_checking) {
// These "asserts" are used for self-checking and not for an auto-testing
assert.equal(convert(1, 3), "0.(3)")
assert.equal(convert(5, 3), "1.(6)")
assert.equal(convert(3, 8), "0.375")
assert.equal(convert(7, 11), "0.(63)")
assert.equal(convert(29, 12), "2.41(6)")
assert.equal(convert(11, 7), "1.(571428)")
assert.equal(convert(0, 117), "0.")
console.log("Coding complete? Click 'Check' to earn cool rewards!");
}
July 29, 2018