Sum of digits
A checksum routine needs the digits of a number added together.
- Negative input uses its digits too: -204 sums to 6.
- The digits of 0 sum to 0.
digitSum(amount: int) → int
Go needs a compiler and Drill does not host one yet, so this page is the reference rather than an exercise: the problem, worked examples, and the solution in full. To type it out, the same problem runs in Python.
Where you start
func digitSum(amount int) int {
}
Worked examples
| Call | Result |
|---|---|
digitSum(0) | 0 |
digitSum(7) | 7 |
digitSum(1234) | 10 |
digitSum(-204) | 6 |
Hint
Take the absolute value first, then peel digits off with % 10 and / 10.
Reference solution in Go
func digitSum(amount int) int {
x := amount
if x < 0 {
x = -x
}
total := 0
for x > 0 {
total += x % 10
x /= 10
}
return total
}