您的位置:首页 > 其它

HUST 1379 Digits

2016-02-02 18:00 267 查看
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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: