HUST 1379 Digits

寿鸣
2023-12-01

Description

A googol written out in decimal has 101 digits. A googolplex has one plus a googol digits. That's a lot of digits! Given any number  x0, define a sequence using the following recurrence:

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;
}


 类似资料:

相关阅读

相关文章

相关问答