水仙花数

 如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。
如 407 = 4的立方+0的立方+7的立方 就是一个阿姆斯特朗数。试编程求1000以内的所有阿姆斯特朗数。
*题目分析与算法设计
    可采用穷举法,依次取1000以内的各数(设为i),将i的各位数字分解后,据阿姆斯特朗数的性质进行计算和判断

/*
 * 求水仙花数
 * 
 */
public class T1 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
    /*    for(int i = 0 ; i<1000 ; i++){
            
            if(i<10 && i>=0){ //个位数
                
                if(i == i*i*i){
                    System.out.println(i+":是一个水仙花数");
                }
            }
            if(i>=10 && i<100){ //十位数的
                int shi = i / 10;
                int ge = i % 10;
                if(i == (shi*shi*shi + ge * ge * ge)){
                    System.out.println(i+":是一个水仙花数");
                }
            }
            if(i>=100){ //百位数的
                int bai = i / 100;
                int shi = (i-bai*100)/ 10;//=(i%100)/10
                int ge = i % 10;
                if(i == (shi*shi*shi + ge * ge * ge + bai*bai*bai)){
                    System.out.println(i+":是一个水仙花数");
                }
            }
            
        }*/
        
        for(int i = 0 ;i<1000 ;i++){
            
            int bai = i / 100;    
            int shi = (i-bai*100)/ 10;//=(i%100)/10
            int ge = i % 10;
            if(i == (shi*shi*shi + ge * ge * ge + bai*bai*bai)){
                System.out.println(i+":是一个水仙花数");
            }
            
        }

    }

}

 

posted @ 2012-10-19 10:12  邹晟  阅读(229)  评论(0编辑  收藏  举报