输入任意一个正整数,输出其各位数之和,直到和为单位数字

输入任意一个正整数,将其各位相加,若得到的结果大于两位数,则将该结果的各位再相加,直到和为一位数(即最终结果小于10)。代码如下:

int GetSingleNum(int N)
{
 if (N <= 0) return -1;

 int sum = 0, tempN = N;

 while(true)
 {
  int y = tempN % 10;
  tempN = tempN / 10;
  
  sum += y;
  
  if (tempN <= 0) break;
 }

 if (sum > 9)
 {
  sum = GetSingleNum(sum);
 }

 return sum;
}

原文地址:https://www.cnblogs.com/linmeng/p/2005657.html