题目:把一个整数的每个数位都平方后求和,又得到一个整数,我们称这个整数为位平方和。
对新得到的整数仍然可以继续这一运算过程。
比如,给定整数为4,则一系列的运算结果为:
16,37,58,89,....
输入,两个整数x n,中间以空格分开。表示求x的第n步位平方和。其中,x,n都大于0,且小于100000。
对新得到的整数仍然可以继续这一运算过程。
比如,给定整数为4,则一系列的运算结果为:
16,37,58,89,....
本题的要求是,已知一个整数x,求第n步的运算结果。
输入,两个整数x n,中间以空格分开。表示求x的第n步位平方和。其中,x,n都大于0,且小于100000。
输出,一个整数,表示所求结果。
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int x=sc.nextInt();
int n=sc.nextInt();
for(int i=1;i<=n;i++){
if(x<10){
x*=x;
}else{
int result=0;
char [] c=String.valueOf(x).toCharArray();
for(int j=0;j<c.length;j++){
result+=(c[j]-'0')*(c[j]-'0');
}
x=result;
}
}
System.out.println(x);
}
}