11687 - Digits

Problem D: Digits

A googol written out in decimal has 101 digits. A googolplex hasone plus a googol digits. That's a lot of digits!

Given any number x0, define a sequenceusing 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 thatxi = xi-1.

Input Specification

Input consists of several lines. Each line contains avalue of x0. Every value of x0is non-negative and has no more than one million digits.The last line of input containsthe word END.

Sample Input

42
END

Output Specification

For each value of x0 given in the input, outputone line containing the smallest positive i such that xi = xi-1.

Output for Sample Input

3
#include
#include
char a[10000010];
int p;
int solve(int x)
{ 
	int y;
	sprintf(a,"%d",x);
	y=strlen(a);
	p++;
	if(x==y) return p;
	solve(y);
}
int main()
{
	while(gets(a)){
		p=1;
		if(strcmp(a,"END")==0) break;
		else if(strcmp(a,"1")==0) puts("1");
		else printf("%d\n",solve(strlen(a)));
	}
	return 0;
}

你可能感兴趣的:(UVa,Online,Judge)