Add Digits

easy math digit dp number theory

Problem

Repeatedly sum the digits of a non-negative integer until the result has one digit. Return that digit.

Inputnum = 38
Output2
3+8=11 → 1+1=2 (or directly: 1 + (38-1) mod 9 = 2).

def add_digits(num):
    if num == 0: return 0
    return 1 + (num - 1) % 9
function addDigits(num) {
  if (num === 0) return 0;
  return 1 + (num - 1) % 9;
}
class Solution {
    public int addDigits(int num) {
        if (num == 0) return 0;
        return 1 + (num - 1) % 9;
    }
}
int addDigits(int num) {
    if (num == 0) return 0;
    return 1 + (num - 1) % 9;
}
Time: O(1) Space: O(1)