Advertisement
Guest User

Untitled

a guest
Jul 28th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. func digitSum(var n : Int) -> Int {
  2. var sum = 0
  3. while n > 0 {
  4. sum += n % 10 // Add least significant digit ...
  5. n /= 10 // ... and remove it from the number.
  6. }
  7. return sum
  8. }
  9.  
  10. println(digitSum(845)) // 17
  11.  
  12. func digitSum(_ n : Int) -> Int {
  13. var n = n
  14. var sum = 0
  15. while n > 0 {
  16. sum += n % 10 // Add least significant digit ...
  17. n /= 10 // ... and remove it from the number.
  18. }
  19. return sum
  20. }
  21.  
  22. print(digitSum(845)) // 17
  23.  
  24. let myString = "845"
  25. let sum = myString.characters.flatMap{Int(String($0))}.reduce(0, +)
  26. print(sum) // 17
  27.  
  28. let myInteger = 845
  29. let sumInt = String(myInteger).characters.flatMap{Int(String($0))}.reduce(0, +)
  30. print(sumInt) // 17
  31.  
  32. func sumDigits(var i : Int) -> Int {
  33. var sum = 0
  34. var nDigits = floor(log10(Double(i))) + 1
  35. for var r = nDigits; r > 0; r-- {
  36. var p = pow(10, r - 1)
  37. var d = floor(Double(i) / p)
  38. sum += Int(d)
  39. i -= Int(d * p)
  40. }
  41. return sum
  42. }
  43.  
  44. func digitSum(of number: Int) -> Int
  45. {
  46. if(number < 10)
  47. {
  48. return number
  49. }
  50. else
  51. {
  52. return number % 10 + digitSum(of: (number/10))
  53. }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement