情况说明:18级新生周赛(1)
题目描述
小新的学号最后三位是153,他发现了153的秘密之处。从任一个3的倍数的数开始进行如下变换:把各位数字的立方相加,其和就作为变换后的数字。反复进行上述变换,经过有限次计算以后,结果必然等于153。
例如:24是3的倍数,按照上述规则,进行变换的过程是:
24 -> 222+444=72 ->
777+222=351 -> 333+555+111=153
总共进行了3次变换,24变成了153。
现给出任意一个3的倍数,计算该数变成153需要变换的次数。
输入
一个整数,并且是3的倍数
输出
一个整数,表示该数字变成153所需变换的次数
样例输入
24
样例输出
3
#include<stdio.h>
int B(int a)
{
int sum=0;
while(a)
{
int b=a%10;
a=a/10;
sum+=b*b*b;
}
return sum;
}
int main()
{
int n;
scanf("%d",&n);
int number=0;
for(;n!=153;)
{
n=B(n);
number++;
}
printf("%d",number);
return 0;
}