// An Armstrong number of three digits is an integer that the sum
// of the cubes of its digits Is equal to the number itself
// 371 Is an Armstrong number 3**3 + 7**3 + 1**3 = 371
import Foundation
func armstrong(_ n: Int) -> Int {
var reminder = 0, sum = 0
let totalDigits = String(n).count
var number = n
while number > 0 {
reminder = number % 10
sum += Int(pow(Double(reminder), Double(totalDigits)))
number /= 10
}
return sum
}
var n = 153 // 1*1*1 + 5*5*5 + 3*3*3 = 153
if n == armstrong(n) {
print("Armstrong number")
} else {
print("Not armstrong number")
}
n = 9474 // 9*9*9*9 + 4*4*4*4 + 7*7*7*7 + 4*4*4*4 = 9474
if n == armstrong(n) {
print("Armstrong number")
} else {
print("Not armstrong number")
}
/*
run:
Armstrong number
Armstrong number
*/