关闭

一千万以内的自守数

标签: 自守数
37人阅读 评论(0) 收藏 举报
分类:
求一千万以下的自守数 如 5*5=25 25*25=625 如果有n由k位数构成 那么n的平方的末尾k位数必须和n相等 并且变量只能用证书
/**
 * 思路:n的平方对整的x次幂取余结果是n,则满足条件
 * 例5*5=25  25%10=5
 * 625*625=390625 625%(10*10*10)=625
 * @author yx
 *
 * 2017-9-25
 */
public class Test {
    public static void main(String[] args) {
        for (int j = 0; j < 10000000; j++) {
            for (int i = 1; i < String.valueOf(j).length(); i++) {
                if (Math.pow(j % (Math.pow(10, i)), 2) == j) {  
                    System.out.println(j + "," + (int) (j % (Math.pow(10, i))));
                    break;
                }
            }
        }
    }
}

  结果:

25,5
36,6
625,25
5776,76
141376,376
390625,625

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:87914次
    • 积分:1789
    • 等级:
    • 排名:千里之外
    • 原创:84篇
    • 转载:34篇
    • 译文:4篇
    • 评论:12条
    最新评论