链接:http://codeforces.com/problemset/problem/102/B
题意:给定一个数字,每次能把它变为它的各个位的数字之和,求几次变化后,能变成个位数
#include<iostream> #include<cstring> #include<map> #include<cstdio> #include<stdlib.h> #include<algorithm> using namespace std; char s[100010]; int main(){ cin>>s; int res = 0; while(1){ int len = strlen(s); if(len == 1) break; int sum = 0; for(int i = 0; i<len; i++){ sum+=s[i]-'0'; } itoa(sum, s, 10); res++; } cout<<res<<endl; return 0; }