Skip to content

Instantly share code, notes, and snippets.

@isnifer
Created September 22, 2018 10:06
Show Gist options
  • Save isnifer/37a3776f0a2308513427a84a32c5dd7b to your computer and use it in GitHub Desktop.
Save isnifer/37a3776f0a2308513427a84a32c5dd7b to your computer and use it in GitHub Desktop.
/* eslint-disable */
import range from 'lodash/range'
// const r = range(1, 101)
const r = range(1, 10001)
const fromTo = to => range(2, to)
const simpleNumbers = r.reduce((memo, number) => {
if (!fromTo(number).some(n => number % n === 0)) {
return { ...memo, [number]: true }
}
return memo
}, {})
const getSimpleNumber = n => ({ computedValue: 2 ** n - 1, n })
const calculatedNumbers = r.map(getSimpleNumber)
const simpleNumbersReadyToBeauty = calculatedNumbers.filter(
({ computedValue }) => simpleNumbers[computedValue]
)
const beautyNumbers = simpleNumbersReadyToBeauty.map(({ computedValue, n }) => {
return (2 ** (n - 1)) * computedValue
})
console.log({
// simpleNumbers,
// calculatedNumbers,
// simpleNumbersReadyToBeauty,
beautyNumbers,
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment