1.依次对一个三位数的每一位数的平方求和,百位数可通过除100取整得到,十位数可通过除10取整得到 2.三位数中的最小数是101,最大数是999,所以水仙花数必然存在于101到999之间
public class shuixianhuashu {
static Boolean isSxh(int m){
int a1,a2,a3;
a1=m/100;
a2=m%100/10;
a3=m%10;
if(m<3) return false;
else if( (a1*a1*a1+a2*a2*a2+a3*a3*a3) == (a1*100+a2*10+a3) )
return true; else return false;
public static void main(String[] args){
System.out.println("1000以内的水仙花数:");
shuixianhuashu s = new shuixianhuashu();
for(int i=101;i<1000;i++) if(s.isSxh(i))
System.out.print(i+"\t"); } } |