Skip to content

Instantly share code, notes, and snippets.

@Woodsphreaker
Forked from beatorizu/obmep.js
Last active March 21, 2017 04:43
Show Gist options
  • Save Woodsphreaker/36e194f1742acd89ab426bbd1285f04c to your computer and use it in GitHub Desktop.
Save Woodsphreaker/36e194f1742acd89ab426bbd1285f04c to your computer and use it in GitHub Desktop.
"use strict";
const digits = num => num.toString().split("").map(Number);
const invertNumber = number => digits(number).reverse();
const toNumber = list => Number(list.join(""));
const invertDigit = number => toNumber(invertNumber(number));
const sumList = list => list.reduce((pre, curr) => pre + curr);
const sumDigits = number => sumList(digits(number));
const solve = number => {
const subNumber = number - sumDigits(number);
const sumNumberPlusFour = sumDigits(subNumber) + 4;
const multNumberWhitReverse = sumNumberPlusFour * (invertDigit(sumNumberPlusFour));
const multNumberForThree = multNumberWhitReverse * 3;
const result = multNumberForThree;
return result;
};
console.log(solve(90));
  • Pense em qualquer número de DOIS dígitos, por exemplo 47

  • Subtraia a soma dos algarismos. Ex.: 47 - (4 + 7) = 36

  • Depois some os algarismos resultantes da subtração anterior, adicionando 4. Ex.: 3 + 6 + 4 = 13

  • Multiplique o resultado pelo inverso do número. Ex.: 13 x 31 = 403

  • E por último, multiplique por 3 o resultado anterior. Ex. 403 x 3 = 1209

  • Obs.: Qualquer número de 2 algarismos (entre 10 e 99) terão o mesmo resultado.

  • Não acredita ? Faça o teste !!!!

@Woodsphreaker
Copy link
Author

Fiz algumas alterações baseados nas suas sugestões.
Valeu !!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment