diff --git a/hidden-cubic-numbers/find_cubic_numbers.js b/hidden-cubic-numbers/find_cubic_numbers.js new file mode 100644 index 0000000..de27f30 --- /dev/null +++ b/hidden-cubic-numbers/find_cubic_numbers.js @@ -0,0 +1,13 @@ +// cubic numbers + +const res = []; +for (let i = 0; i < 1e3; ++i) { + const str = ('000' + i).slice(-3); + if (i === str.split``.reduce((a, b) => a + b**3, 0)) { + res.push(str); + } +} + +console.log(res); + +// [ '000', '001', '153', '370', '371', '407' ] diff --git a/hidden-cubic-numbers/index.js b/hidden-cubic-numbers/index.js new file mode 100644 index 0000000..066053a --- /dev/null +++ b/hidden-cubic-numbers/index.js @@ -0,0 +1,10 @@ +// https://www.codewars.com/kata/hidden-cubic-numbers + +function isSumOfCubes(s) { + const cns = ['0', '1', '153', '370', '371', '407']; + const n = s.match(/[0-9]+/g) || []; + const nr = n.reduce((a, b) => [...a, ...b.match(/[0-9]{1,3}/g)], []).map(n=>(+n)+''); + const f = nr.filter(n => cns.indexOf((+n)+'') !== -1); + if (!f.length) return 'Unlucky'; + return `${f.join` `} ${f.reduce((a,b) => +b + a, 0)} Lucky`; +}