Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Narrowing Lower and Upper Bound solution in Clear category for [old] Super Root by vincent.tscherter
"use strict";
function superRoot(number) {
let low = 1, upr = number, mid, chk;
while (true) {
mid = (low+upr)/2;
chk = Math.pow(mid, mid)
if (chk>number) { upr = mid } else { low = mid }
if (Math.abs(number-chk)<0.001) break
} return mid;
}
var assert = require('assert');
if (!global.is_checking) {
console.log('Example:')
console.log(superRoot(4))
// These "asserts" using only for self-checking and not necessary for auto-testing
function checkResult(func, number) {
var result = func(number);
var p = result ** result;
if (number - 0.001 < p && p < number + 0.001) {
return true
} else {
return false
}
};
var firstTest = checkResult(superRoot, 4);
var secondTest = checkResult(superRoot, 9);
var thirdTest = checkResult(superRoot, 81);
assert.equal(firstTest, true);
assert.equal(secondTest, true);
assert.equal(thirdTest, true);
console.log("Coding complete? Click 'Check' to earn cool rewards!");
}
June 27, 2018
Comments: