Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Heron's formula solution in Clear category for [old] Simple Areas by Sim0000
"use strict";
function simpleAreas(...args) {
switch(args.length){
case 1: // circle
return Math.PI * args[0] * args[0] / 4;
case 2: // rectangle
return args[0] * args[1];
case 3: // triangle
let s = (args[0] + args[1] + args[2]) / 2;
return Math.sqrt(s * (s - args[0]) * (s - args[1]) * (s - args[2]));
}
return 0;
}
var assert = require('assert');
if (!global.is_checking) {
// These "asserts" are used for self-checking and not for an auto-testing
function almostEqual(checked, correct, significantDigits=2) {
console.log(checked, correct);
var precision = 0.1 ** significantDigits
return correct - precision < checked && checked < correct + precision
}
var test1 = almostEqual(simpleAreas(3), 7.07)
var test2 = almostEqual(simpleAreas(2, 2), 4)
var test3 = almostEqual(simpleAreas(2, 3), 6)
var test4 = almostEqual(simpleAreas(3, 5, 4), 6)
var test5 = almostEqual(simpleAreas(1.5, 2.5, 2), 1.5)
assert.equal(test1, true)
assert.equal(test2, true)
assert.equal(test3, true)
assert.equal(test4, true)
assert.equal(test5, true)
console.log("Coding complete? Click 'Check' to earn cool rewards!");
}
July 10, 2018
Comments: