C ++程序查找数字的总和,直到总和变为一位数字

在本文中,我们将讨论一个程序,该程序将找到一个数字的总和,直到该总和本身变成一个数字并且无法进行进一步的求和。

例如,以数字14520为例。将这个数字相加得到1 + 4 + 5 + 2 + 0 =12。由于这不是单个数字,我们将进一步添加收到的数字。 。将它们相加得到1 + 2 = 3。

现在,3是最终答案,因为它本身是一个数字,并且不能再添加数字。

为了解决这个问题,我们将使用一种方法,即被9整除的数字的位数之和仅等于9。对于不能被9整除的数字,我们可以将它们除以9,以获得剩下的数字,这将是给定数字的最终总和。

示例

#include<bits/stdc++.h>
using namespace std;
//通过9检验除数的功能
int sum_digits(int n) {
   if (n == 0)
      return 0;
   else if (n%9 == 0)
      return 9;
   else
      return (n%9);
}
int main() {
   int x = 14520;
   cout<<sum_digits(x)<<endl;
   return 0;
}

输出结果

3