21 lines
337 B
Text
21 lines
337 B
Text
func isPerfect(num) {
|
|
var sum = 0
|
|
for i in 1..<num {
|
|
if !i {
|
|
break
|
|
}
|
|
if num % i == 0 {
|
|
sum += i
|
|
}
|
|
}
|
|
return sum == num
|
|
}
|
|
|
|
let max = 33550337
|
|
print("Perfect numbers from 0 to \(max):")
|
|
|
|
for x in 0..max {
|
|
if isPerfect(x) {
|
|
print("\(x) is perfect")
|
|
}
|
|
}
|