题目内容:
对于一个正整数n,我们将它的各个位相加,得到一个新的数字,如果这个数是一位数,我们称之为n的数根,否则重复处理,直到它成为一个一位数,这个一位数就是n的数根。一位数的数根为0。
例如:24,2+4=6,6是24的数根
398,3+9+8=20,2+0=2,2是398的数根
输入格式:输入n
输出格式:n的数根
输入样例:789
输出样例:6
问题分析
- 输入一个数,当它为一位数时输出0,程序结束;
- 用do…while循环两位以上的数,do循环取每一位数,各个位数累加,while条件为num大于0;
- if条件选择sum大于等于0,并且num=0时,用sum作num重新循环
#include <iostream>
using namespace std;