同构数(守形数) —— day100

正整数n若是它平方数的尾部,则称n为同构数。

package algorrithm;

import java.util.ArrayList;
import java.util.List;

/*
 * 正整数n若是它平方数的尾部,则称n为同构数,也称守形数
 */
public class testSxs {

    public static void main(String[] args) {
        Sxs testSs = new Sxs();
        List<Integer> sxsList = testSs.getSxs(1, 1000);
        
        for(int i=0;i<sxsList.size();i++){
            System.out.println(sxsList.get(i));
        }
    }

}

class Sxs{
    private List<Integer> sxsList = new ArrayList<Integer>();
    
    /*    
     *     获得范围  [rang1,rang2] 内的守形数
    */
    public List<Integer> getSxs(int rang1,int rang2){
        for(int i = rang1;i<=rang2;i++){
            if(this.isSxs(i,(String.valueOf(i).length()))){
                sxsList.add(i);
            }
        }
        return sxsList;
    }
    
    /*    
     *     判断整数 numS 是否为守形数
     *     numS:待判断数
     *     numDig:待判断数位数
     *  是则返回 true,不是返回 false
    */
    public boolean isSxs(int numS,int numDig){
        
        if((Math.pow(numS, 2) % Math.pow(10, numDig)) == numS){
            return true;
        }
        return false;
    }
}
View Code

 

posted @ 2016-05-10 14:43  SandBoat  阅读(666)  评论(0)    收藏  举报