Description
xi+1= the number of digits in the decimal representation of xi
Your task is to determine the smallest positive i such that xi = xi-1.
Input
Input consists of several lines. Each line contains a value of x0. Every value of x0 is non-negative and has no more than one million digits. The last line of input contains the word END.
Output
For each value of x0 given in the input, output one line containing the smallest positive i such that xi = xi-1.
Sample Input
42 END
Sample Output
3
理解题意
#include<string>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<queue>
#include<map>
#include<cmath>
using namespace std;
const int maxn = 1e6 + 5;
typedef long long LL;
int T, n, m;
char s[maxn];
int main()
{
while (scanf("%s", s) != EOF)
{
if (s[0] == 'E') break;
int cnt = 1, len = strlen(s);
if (s[0] == '1'&&len == 1) { printf("%d\n", cnt); continue; }
else cnt++;
for (int res = 0; len != 1; cnt++)
{
for (int i = len; i; i /= 10) res++;
len = res; res = 0;
}
printf("%d\n", cnt);
}
//while (scanf("%d", &n) != EOF){}
return 0;
}