Magic Numbers

Benchmark created by Magic Numbers on


Test runner

Ready to run.

Testing in
TestOps/sec
Strings
function isMagic(num) {
  var str = '' + num, sum = 0, product = 1;
  str.split('').forEach(function (char) {
    char = parseInt(char);
    sum += char;
    product *= char;
  });
  return sum === product;
}

for (var i = 10; i < 500; i++) {
  isMagic(i);
}
 
ready
Numbers
function isMagic(num) {
  var sum = 0, product = 1;
  
  (function rec(num) {
      var lastDigit = num % 10;
      sum += lastDigit;
      product *= lastDigit;
      
      num = (num - lastDigit)/10;
      
      if (num >= 1) {
        rec(num);
      }
  })(num)
  
  return sum === product;
}

for (var i = 10; i < 500; i++) {
  isMagic(i);
}
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.

  • Revision 1: published by Magic Numbers on