数字根
数字根
一个正整数的数字根式通过计算该整数的各位和产生的。
如果一个整数的各位和为一位整数,那么这个数字就是该整数的数字根。
如果该整数的各位和是多位整数,那么就需要重复计算各位的和,直至获得一位整数。
如:24的数字根为2+4=6,一位整数即为数字根;39的数字根为(3+9=12两位整数,需继续相加,1+2=3)3include
using namespace std;
//数字根:一个正整数的数字根式通过计算该整数的各位和产生的。
//如果一个整数的各位和为一位整数,那么这个数字就是该整数的数字根。
//如果该整数的各位和是多位整数,那么就需要重复计算各位的和,直至获得一位整数。
int main() {string s;
int n, sum;
while (cin >> s) {
if (s == "0") return 0;
sum = 0;
for (int j = 0; j < s.size(); j++) {
switch (s[j]) {
case '0':
sum = sum + 0;
break;
case '1':
sum = sum + 1;
break;
case '2':
sum = sum + 2;
break;
case '3':
sum = sum + 3;
break;
case '4':
sum = sum + 4;
break;
case '5':
sum = sum + 5;
break;
case '6':
sum = sum + 6;
break;
case '7':
sum = sum + 7;
break;
case '8':
sum = sum + 8;
break;
case '9':
sum = sum + 9;
break;
}
}
while (sum >= 10) {
if (sum / 100 == 0) {
sum = sum % 10 + sum / 10 % 10;//两位整数
}
}
if (sum < 10)
cout << s << "的数字根为" << sum << endl;
}
return 0;
}
还没有评论,来说两句吧...