水仙花数
如果一个正整数等于其各个数字的立方和,则称该数为阿姆斯特朗数(亦称为自恋性数)。
如 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+":是一个水仙花数"); } } } }