24 lines
703 B
Swift
24 lines
703 B
Swift
import Foundation
|
|
|
|
func fourIsMagic(_ number: NSNumber) -> String {
|
|
let formatter = NumberFormatter()
|
|
formatter.numberStyle = .spellOut
|
|
formatter.locale = Locale(identifier: "en_EN")
|
|
|
|
var result: [String] = []
|
|
|
|
var numberString = formatter.string(from: number)!
|
|
result.append(numberString.capitalized)
|
|
|
|
while numberString != "four" {
|
|
numberString = formatter.string(from: NSNumber(value: numberString.count))!
|
|
result.append(contentsOf: [" is ", numberString, ", ", numberString])
|
|
}
|
|
|
|
result.append(" is magic.")
|
|
return result.joined()
|
|
}
|
|
|
|
for testInput in [23, 1000000000, 20140, 100, 130, 151, -7] {
|
|
print(fourIsMagic(testInput as NSNumber))
|
|
}
|