HDU 2498 Digits

水题。题目这样定义的,另f(x)为x有几位,x[i]=f(x[i-1]);

求最小的i使得x[i]==x[i-1]

#include<cstdio>
#include<cstring>
#include<cmath>
#include<vector>
#include<map>
using namespace std; char s[+];
int x[+]; int f(int n)
{
int res=;
while(n)
{
n=n/;
res++;
}
return res;
} int main()
{
while(~scanf("%s",s))
{
if(strcmp("END",s)==) break;
int len=strlen(s);
x[]=len;
if(strlen(s)==&&s[]=='') printf("1\n");
{
int now=;
while()
{
x[now]=f(x[now-]);
if(x[now]==x[now-])
{
printf("%d\n",now);
break;
}
now++;
}
}
}
return ;
}
上一篇:基于Linux下的UDP编程


下一篇:Ubuntu中通过Docker安装配置MySQL主从节点