Java趣味编程10----自守数
自守数即某个数的平方的末尾几个数等于这个数本身,那么这个数就叫自守数。
如25 * 25=625,76*76=5776,所以25和76就是自守数。
所以,我们要取得结果的末尾几个数和原数比较,这里我们使用了字符串的方法,将结果转成String类型,然后通过获取子串的结果和原来的串相比较。
package _3InterestingInteger;
/*
自守数
*/
public class _3_7 {
public static void main(String[] args) {
for(int i=1;i<10000;i++){
fun(i);
}
}
public static void fun(int n){
//将数字转成字符串
String subStr=String.valueOf(n);
String subStr2=String.valueOf(n*n);
//获取索引后的内容,subStr2.length()-subStr.length()之后的内容即平方的末尾
String last=subStr2.substring(subStr2.length()-subStr.length());
if(last.equals(subStr)){
System.out.println(n+"*"+n+"="+subStr2+" "+subStr+"是自守数");
}
}
}
结果: