这题只是用到两个简单的数论知识,
①n的数根 = (n-1)%9+1;
② n%9 = n各个位之和 %9 : 135%9 = (1 + 3 + 5)%9
要注意输入有大数,所以用字符数组处理
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <map>
#include <algorithm>
#include <cmath>
#include <iomanip>
#include <vector>
#include <stack>
#include <cstdlib>
#include <queue>
#include <set>
#include <cctype>
using namespace std;
#define loop(i,u,v) for(int i = u;i <= v;i++)
#define rloop(i,u,v) for(int i = u;i >= v;i--)
#define eps 0.00000001
typedef long long ll;
int main()
{
ll sum;
char a[1005];
while(cin >> a && a[0] != '0')
{
sum = 0;
loop(i,0,strlen(a)-1)
sum += a[i] - '0';
cout << (sum-1)%9 + 1 << endl;
}
return 0;
}