-
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 !!!!
-
-
Save Woodsphreaker/36e194f1742acd89ab426bbd1285f04c to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"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)); |
Fiz um Gist mudando os operadores
https://gist.github.com/lubien/210bc9c6fdc5af0a78b2e03fa686b1d3/revisions
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
N entendi muito bem a sua escolha de nomes.
Reducer
recebe uma array e reduz ela pela soma. Reducer não deveria se referir a qualquer função que é capaz de reduzir? Digo isso pelo fato de que seu reducer tem um nome genérico para um caso específico (soma).Não entendi porque nos operadores você deliberadamente recebe uma lista como argumento só para mapear um número,