#include <cstdio> #include <iostream> #include <string> #include <cstring> #include <algorithm> #include <cmath> #include <queue> #include <vector> #define PI acos(-1.0) #define ms(a) memset(a,0,sizeof(a)) #define msp memset(mp,0,sizeof(mp)) #define msv memset(vis,0,sizeof(vis)) #define msd memset(dp,0,sizeof(dp)) using namespace std; //#define LOCAL string s; int t=0; void solve() { for(string::iterator it=s.begin(); it!=s.end(); it++) t+=*it-‘0‘; s.clear(); while(!(t%10==0&&t/10==0)) { s.push_back((t%10)+‘0‘); t/=10; } } int main() { #ifdef LOCAL freopen("in.txt", "r", stdin); //freopen("out.txt","w",stdout); #endif // LOCAL ios::sync_with_stdio(false); while(cin>>s&&*(s.begin())!=‘0‘) { solve(); while(s.size()!=1) solve(); printf("%c\n",s[0]); } return 0; }
原文:http://www.cnblogs.com/gpsx/p/5212588.html