更新一下我的技术博客,好久没做pta上面的题目了,今天格外有思路有想法。
居然一下子就想到了怎么用递归把题目解出来了,虽然是最简单的递归,但对于我这个编程小白来说实属不易啊,无疑大大地增强了我的自信呢。
没有做代码的简化,因为已经很晚了,怕吵到室友睡觉,把代码码上来我也就快去睡觉吧!
#include<stdio.h>
int count(int numl);
int doit(int numl,int c);
int main(){
int numl,mid,sum,next;
scanf("%d",&numl);
int c=count(numl);
next=numl;
do{
mid=next
next=doit(next,c);
c=count(next);
}while(next!=mid);
return 0;
}
int count(int numl){
int cnt=0;
do{
numl/=10;
cnt++;
}while(numl!=0);
return cnt;
}
int doit(int numl,int c){
for(i=0;i<c;i++){
sum=0;
sum+=numl%10;
numl/=10;
}
sum=sum*3+1;
return sum;
}