题意:
题意很简单,输入一个数字,循环地把各个十位上的数字相加,直到最后得到的值只有个位就停止并且输出。水题。
代码如下:
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>
using namespace std;
string int_2_string(int a) {
stringstream ss;
string ret("");
ss << a;
ss >> ret;
return ret;
}
string bit_sum(string s) {
int sum(0);
for (int i = 0, siz = s.size(); i < siz; ++i) {
sum += s[i] - '0';
}
return int_2_string(sum);
}
int main() {
// ifstream cin("in.txt");
string s;
while (cin >> s) {
if ("0" == s) {
break;
}
if (s.size() == 1) {
cout << s << endl;
continue;
}
while (s.size() != 1) {
s = bit_sum(s);
}
cout << s << endl;
}
return 0;
}