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+"是自守数");
        }
    }
}

结果:
Java趣味编程10----自守数