C++程序,用于求一个数字的各位数字之和,直到和变成一位数。


在这篇文章中,我们将讨论一个程序,用于查找一个数字的各位数字之和,直到这个和本身变成一位数,并且无法再进行求和。

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

现在,3 是最终答案,因为它本身就是一个一位数,并且它的各位数字无法再进行相加。

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

示例

 在线演示

#include<bits/stdc++.h>
using namespace std;
//function to check the divisibility by 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

更新于: 2019年10月3日

539 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告