Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func digitSum(var n : Int) -> Int {
- var sum = 0
- while n > 0 {
- sum += n % 10 // Add least significant digit ...
- n /= 10 // ... and remove it from the number.
- }
- return sum
- }
- println(digitSum(845)) // 17
- func digitSum(_ n : Int) -> Int {
- var n = n
- var sum = 0
- while n > 0 {
- sum += n % 10 // Add least significant digit ...
- n /= 10 // ... and remove it from the number.
- }
- return sum
- }
- print(digitSum(845)) // 17
- let myString = "845"
- let sum = myString.characters.flatMap{Int(String($0))}.reduce(0, +)
- print(sum) // 17
- let myInteger = 845
- let sumInt = String(myInteger).characters.flatMap{Int(String($0))}.reduce(0, +)
- print(sumInt) // 17
- func sumDigits(var i : Int) -> Int {
- var sum = 0
- var nDigits = floor(log10(Double(i))) + 1
- for var r = nDigits; r > 0; r-- {
- var p = pow(10, r - 1)
- var d = floor(Double(i) / p)
- sum += Int(d)
- i -= Int(d * p)
- }
- return sum
- }
- func digitSum(of number: Int) -> Int
- {
- if(number < 10)
- {
- return number
- }
- else
- {
- return number % 10 + digitSum(of: (number/10))
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement