UVA11687 题解
题目传送门
题目大意
给定一个数字,每次都会变为它的位数。求这个数字多少次会变成
思路
鉴于本题需要操作的数字较大,可以用 string 进行操作。由于第一次操作就会把一个百万位的数字变为 int 来承接。用 to_string 和 size 两个函数配合模拟整个过程,并统计操作次数即可。
AC CODE
#include<bits/stdc++.h>
using namespace std;
int main(){
string s;
while(true){
cin>>s;
if(s=="END")
return 0;
int ans=1;
for(;s!="1";++ans)
s=to_string(s.size());
printf("%d\n",ans);
}
return 0;
}