问题遇到的现象和发生背景
对任意一个自然数N
0
,先将其各位数字相加求和,再将其和乘以3后加上1,变成一个新自然数N
1
;然后对N
1
重复这种操作,可以产生新自然数N
2
;……多次重复这种操作,运算结果最终会得到一个固定不变的数N
k
,就像掉入一个数字“陷阱”。
本题要求对输入的自然数,给出其掉入“陷阱”的过程。
问题相关代码,请勿粘贴截图
# include<stdio.h>
int main()
{
int sum=0;
int i=0;
int N[100]={};
scanf("%d",&N[0]);
while(1){
while(N[i]!=0){
sum+=N[i]%10;
N[i]/=10;
}
i++;
N[i]=sum*3+1;
printf("%d:%d\n",i,N[i]);
sum=0;
if(N[i]==N[i-1]){
break;
}
}
return 0;
}