早教吧作业答案频道 -->其他-->
搞定给100分!要求十分钟内!将一个正整数的各个位上的数字相加,如果得到的数是一位数,则称这个数是这个正整数的数根.如果结果是多位数,则继续重复以上过程,直到得到一位数为止.例如,正
题目详情
搞定给100分!要求十分钟内!
将一个正整数的各个位上的数字相加,如果得到的数是一位数,则称这个数是这个正整数的数根.如果结果是多位数,则继续重复以上过程,直到得到一位数为止.
例如,正整数24,2+4=6,由于6是一位数,因此6是24 的数根.
再例如,正整数39,3+9=12,由于12不是一位数,1+2=3,因此3是39 的数根.
编写一个函数,求任意一个正整数的数根,在main()中,从键盘输入一个正整数,调用函数求出这个整数的数根.
将一个正整数的各个位上的数字相加,如果得到的数是一位数,则称这个数是这个正整数的数根.如果结果是多位数,则继续重复以上过程,直到得到一位数为止.
例如,正整数24,2+4=6,由于6是一位数,因此6是24 的数根.
再例如,正整数39,3+9=12,由于12不是一位数,1+2=3,因此3是39 的数根.
编写一个函数,求任意一个正整数的数根,在main()中,从键盘输入一个正整数,调用函数求出这个整数的数根.
▼优质解答
答案和解析
#include
using namespace std;
int shugen(int n) {
int m = 0;
while (n) {
m += n % 10;
n /= 10;
}
if (m < 10)
return m;
else
return shugen(m);
}
int main() {
int n;
cout > n;
if (n > 0)
cout
using namespace std;
int shugen(int n) {
int m = 0;
while (n) {
m += n % 10;
n /= 10;
}
if (m < 10)
return m;
else
return shugen(m);
}
int main() {
int n;
cout > n;
if (n > 0)
cout
看了 搞定给100分!要求十分钟内...的网友还看了以下:
给定一个正整数,把它的各位数字上数字倒过来排列组成一个新数,然后与原数相加,如果是回文数则停止如果 2020-04-07 …
搞定给100分!要求十分钟内!将一个正整数的各个位上的数字相加,如果得到的数是一位数,则称这个数是 2020-04-27 …
我想知道什么叫约数,什么叫公约数,倍数,质因数等等等等.我知道这些百度都有,可是都太啰嗦了.比如倍 2020-05-13 …
1.有一个大于1的整数,除300,262,205,得到相同的余数.问这个整数是几?2.在除1351 2020-07-17 …
1.把由1开始的正整数依次写下去,直到写到第198位为止,那么这个数的末三位数是把由1开始的正整数 2020-07-18 …
1.有一个不等于一的整数,它除967,1000,2001得到相同的余数,求这个整数.2.15和25 2020-07-18 …
下列说法错误的是()A.两个正整数的公倍数一定可以被它们的公因数整除B.两个正整数的乘积一定是这两 2020-07-31 …
已知5个连续整数的和是m,它们的平方和是n,且n=2(6m+5),求这5个连续整数.我这样列的式已 2020-07-31 …
1.有一个整数除89,174所得的余数都是4求这个数可能值2.有一个整数除445,300,242,都 2020-12-08 …
在船上,一位船长说:“我已经是四十以上的中年人了,我的儿子不止一个,我的女儿也不止一个.如果把我的年 2020-12-17 …