把一个整数的每个数位都平方后求和,又得到一个整数,我们称这个整数为:位平方和。
// 对新得到的整数仍然可以继续这一运算过程。
// 比如,给定整数为4,则一系列的运算结果为:
// 16,37,58,89,....
// 本题的要求是,已知一个整数x,求第n步的运算结果。
// 数据格式要求:
// 输入,两个整数x n,中间以空格分开。表示求x的第n步位平方和。其中,x,n都大于0,且小于100000。
// 输出,一个整数,表示所求结果。
// 例如,
// 输入:
// 4 3
// 则程序应该输出:
// 58
// 再例如,
// 输入:
// 1314 10
Scanner in=new Scanner(System.in);
int a=in.nextInt();
int b=in.nextInt();
int c,d,e,f,g,A=0;
for (; 100000 > b&&b>0; b--)
{
c=a%100000/10000;
d=a%10000/1000;
e=a%1000/100;
f=a%100/10;
g=a%10;
A=c*c+d*d+e*e+f*f+g*g;
a=A;
}
System.out.println(a);
}