Skip to content

Instantly share code, notes, and snippets.

@eduardofcgo
Last active September 25, 2020 05:18
Show Gist options
  • Save eduardofcgo/0457b47f14a6fd39f3d27ae46f808622 to your computer and use it in GitHub Desktop.
Save eduardofcgo/0457b47f14a6fd39f3d27ae46f808622 to your computer and use it in GitHub Desktop.
(defn armstrong? [n]
(let [n-chars (apply vector (str n))]
(= n
(int
(reduce +
(map
(comp
#(Math/pow % (count n-chars))
#(Character/getNumericValue %))
n-chars))))))
function isArmstrong(number) {
const numberDigits = Array.from(number.toString()).map(parseInt)
const sumPowers = numberDigits
.map(digit => Math.pow(digit, numberDigits.length))
.reduce((a, b) => a + b, 0)
return sumPowers === number
}
def is_armstrong(number):
number_str = str(number)
return sum(int(char)**len(number_str) for char in number_str) == number
def isArmstrong(number: Int) = {
val numberDigits = number.toString.map(Character.getNumericValue)
number == numberDigits.map(Math.pow(_, numberDigits.length)).sum
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment