把一个整数的每个数位都平方后求和,又得到一个整数,我们称这个整数为:位平方和。
对新得到的整数仍然可以继续这一运算过程。
比如,给定整数为4,则一系列的运算结果为:
16,37,58,89,…
本题的要求是,已知一个整数x,求第n步的运算结果。
数据格式要求:
输入,两个整数x n,中间以空格分开。表示求x的第n步位平方和。其中,x,n都大于0,且小于100000。 输出,一个整数,表示所求结果。
例如, 输入: 4 3 则程序应该输出: 58
再例如, 输入: 1314 10 则程序应该输出: 20
import java
.util
.Scanner
;
public class Demo04 {
public static void main(String
[] args
) {
Scanner sc
= new Scanner(System
.in
);
int x
= sc
.nextInt();
int n
= sc
.nextInt();
for (int i
= 0; i
< n
; i
++) {
int sum
= 0;
while (x
!=0) {
sum
= sum
+ (x
%10)*(x
%10);
x
=x
/10;
}
x
= sum
;
}
System
.out
.println(x
);
}
}