C++对于一个正整数n,将它的各个位相加得到一个新的数字,如果这个数字是一位数,我们称之为n的数根,否则重复处理直到它成为一个一位数,这个一位数也算是n的数根例如:考虑24,2+4=6,6就是24的数根。考虑39,3+9=12,1+2=3,3就是39的数根请编写程序,计算n的数根。(n值范围为1-999。)
时间: 2024-03-11 09:48:23 浏览: 25
好的,以下是C++实现代码:
```c++
#include <iostream>
using namespace std;
int digital_root(int n) {
if (n < 10) {
return n;
}
else {
int sum = 0;
while (n > 0) {
sum += n % 10;
n /= 10;
}
return digital_root(sum);
}
}
int main() {
int num = 24;
cout << "24的数根为:" << digital_root(num) << endl;
num = 39;
cout << "39的数根为:" << digital_root(num) << endl;
return 0;
}
```
运行结果为:
```
24的数根为:6
39的数根为:3
```
这样就可以计算任意正整数的数根了。
相关问题
C++对于一个正整数n,将它的各个位相加得到一个新的数字,如果这个数字是一位数,我们称之为n的数根,否则重复处理直到它成为一个一位数,这个一位数也算是n的数根
好的,以下是C++实现代码:
```c++
#include <iostream>
using namespace std;
int digital_root(int n) {
int sum = 0;
while (n > 0) {
sum += n % 10;
n /= 10;
if (n == 0 && sum >= 10) {
n = sum;
sum = 0;
}
}
return sum;
}
int main() {
int num = 24;
cout << "24的数根为:" << digital_root(num) << endl;
num = 39;
cout << "39的数根为:" << digital_root(num) << endl;
return 0;
}
```
运行结果为:
```
24的数根为:6
39的数根为:3
```
这样就可以计算任意正整数的数根了。
C语言:从键盘输入一个正整数n, 计算该数的各位数之 和并输出
好的,以下是 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int n, sum = 0;
printf("请输入一个正整数:");
scanf("%d", &n);
while (n) {
sum += n % 10;
n /= 10;
}
printf("各位数之和为:%d\n", sum);
return 0;
}
```
跟上面的 C++ 代码实现类似,输入一个数字,通过每次取余数和整除10来获取各个位上的数字,然后将他们相加得到最终的和。