一道编程题

输入一个数,(0-99999),判断他是否为自幂数。

     public boolean mishu(int x) {        
        int k = 0;
        int[] s = chaifen(x);
        for (int i = 0; i < s.length; i++) {
            k=k+pingfang(s[i],s.length);
        }
        if(x==k)
        return true;
        else
        return false;
    }
 
    public int pingfang(int x, int y) {
        x = (int) Math.pow(x, y);
        // System.out.println(x);
        return x;
    }
 
    public int[] chaifen(int x) {
        int l = String.valueOf(x).length();
        int[] s = new int[l];
        for (int i = 0; i < l; i++) {
            // System.out.println("--------"+ (pingfang(10,(l-i-1))));
            s[i] = x / (pingfang(10, (l - i - 1))) % 10;
        }
        return s;
    }
温馨提示:答案为网友推荐,仅供参考
相似回答