递归的终止条件就是这个数是一位数。 递归的操作就是对这个数进行累加,然后,递归累加的和。

#include <iostream>
#include <string>
using namespace std;
int calc(int num) {
    if (num < 10)return num;
    int res = 0;
    while (num != 0) {
        res += num % 10;
        num /= 10;
    }
    return calc(res);
}
int main()
{
    int n;
    cin >> n;
    cout<<calc(n);
}