C ++程序中给定大整数的数字根(重复的数字和)

在本教程中,我们将学习如何查找给定数字的数字根。

数字根是多个数字的总和(直到数字的总和变为一个数字)。

我们以字符串格式给出了一个整数。而且,我们必须反复查找数字的总和,直到总和变为一位数字为止。

让我们看看解决问题的步骤。

  • 以字符串格式初始化整数。

  • 遍历数字并将每个数字添加到sum变量中。

  • 如果总和为0,则打印0。

  • 否则,如果总和可被9整除,则答案为9。

  • 否则,答案是求和模9。

示例

让我们看一下代码。

#include<bits/stdc++.h>
using namespace std;
int digitalRoot(string n) {
   int digitsSum = 0;
   for (int i = 0; i < n.length(); i++) {
      digitsSum += n[i] - '0';
   }
   if (digitsSum == 0) {
      return 0;
   }
   return digitsSum % 9 == 0 ? 9 : digitsSum % 9;
}
int main() {
   string n = "12345";
   cout << digitalRoot(n) << endl;
   return 0;
}
输出结果

如果运行上面的代码,则将得到以下结果。

6

结论