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