题目描述
自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n以内的自守数的个数
接口说明
/*
功能: 求出n以内的自守数的个数
输入参数:
int n
返回值:
n以内自守数的数量。
*/
public static int CalcAutomorphicNumbers( int n)
{
/*在这里实现功能*/
return 0;
}
本题有多组输入数据,请使用while(cin>>)等方式处理、
思想:
将整数转化成字符串类型,对字符串操作。使用endsWith()方法或者substring()方法。
代码:
import java.util.*;
public class test {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
while(sc.hasNext()){
int n=sc.nextInt();
System.out.println(CalcAutomorphicNumbers(n));
}
sc.close();
}
public static int CalcAutomorphicNumbers(int n)
{
int sum=1;
for(int i=1;i<=n;i++){
//1.使用endsWith方法进行匹配
if(String.valueOf(i*i).endsWith(String.valueOf(i))){
sum++;
}
//2.使用substring方法进行匹配
// if(String.valueOf(i).equals(String.valueOf(i*i).substring(String.valueOf(i*i).length()-String.valueOf(i).length(),String.valueOf(i*i).length()))){
// sum++;
// }
}
return sum;
}
}