对于一个正整数n,将它的各个位相加得到一个新的数字,如果这个数字是一位数,我们称之为n的数根,否则重复处理直到它成为一个一位数,这个一位数也算是n的数根例如:考虑24,2+4=6,6就是24的数根。考虑39,3+9=12,1+2=3,3就是39的数根请编写程序,计算n的数根。(n值范围为1-999。)用C++写代码
时间: 2024-03-11 13:48:02 浏览: 161
c代码-输入一个正整数n,显示该正整数的约数,每显示一个换一行,并统计约数的个数。
好的,下面是C++代码实现:
```c++
#include <iostream>
using namespace std;
int addDigits(int n) {
int sum = 0;
while (n > 0) {
sum += n % 10;
n /= 10;
}
if (sum < 10) {
return sum;
} else {
return addDigits(sum);
}
}
int main() {
int n;
cout << "请输入一个正整数n: ";
cin >> n;
int root = addDigits(n);
cout << "该数的数根为: " << root << endl;
return 0;
}
```
首先定义一个函数`addDigits`,用来计算数根。在函数内部,我们使用一个循环来计算n的各个位上的数字之和。如果和小于10,则直接返回这个和,否则递归调用`addDigits`函数计算和的数根。
在主函数中,读入一个正整数n,然后调用`addDigits`函数计算它的数根,最后输出结果。
注意:本程序对于n的取值范围没有做判断,如果输入的n不在1-999的范围内,程序可能会出错。
阅读全文