aboutsummaryrefslogtreecommitdiff
path: root/add_digits.cpp
blob: ec8abfa75499f07b133d1f748e64296ced78f375 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 258. Add Digits
#include "leetcode.h"

// given an integer 'num', repeatedly add all its digits until
// the result has onlye one digit and return it

class Solution {
public:
  int addDigits(int num) {
    int sum = 0;
    while (num) {
      sum += num % 10;
      num /= 10;
    }
    if (sum < 10)
      return sum;
    else
      return addDigits(sum);
  }
};

int main() {
  Solution obj;
  printf("%d\n", obj.addDigits(38)); // expect: 2
  printf("%d\n", obj.addDigits(0));  // expect: 0
}