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


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

数字根是数字的数字之和(直到数字之和变成一位数)。

我们得到一个字符串格式的整数。我们必须反复求数字之和,直到和变成一位数。

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

  • 初始化一个字符串格式的整数。

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

  • 如果sum为0,则打印0。

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

  • 否则,答案为sum模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

结论

如果您在本教程中有什么疑问,请在评论区提出。

更新于:2021年1月27日

930 次浏览

启动您的职业生涯

完成课程后获得认证

开始学习
广告