public class flower{
public static void main(String args[]){
int a=0,b=0,c=0,sum=0,num;
String ret = "";
for (num=100 ;num <=999 ;num++ )
{
  a=num/100;                /*通过abc得到各个数位上的数        */
  b=num/10-a*10;
  c=num-a*100-b*10;
  sum=(a^3+b^3+c^3);
  if (sum == num)
  {
    ret += Integer.toString(num) + " ";
  }
  else{
    continue;
  }
}
System.out.println("100~999之间的水仙花数为:" + ret );
}
}; 

解决方案 »

  1.   


                    int a = 0;
    int b = 0;
    int c = 0;
    for(int i=100;i<1000;i++){
    a = (int)(i/100);
    b = (int)((i%100)/10);
    c = (int)((i%10));
    if(i ==(Math.pow(a, 3)+Math.pow(b, 3)+Math.pow(c, 3))){
    System.out.print(i+" ");
    }
    }
      

  2.   

    public class Flower

    public static void main(String args[])

    int a=0,b=0,c=0,num,sum;
    String ret = "";
    //num = 153;
    for (num=100 ;num <=999 ;num++ ) { 
    a=num/100; /*通过abc得到各个数位上的数 */  
    b=num/10-a*10; 
    c=num-a*100-b*10; 
    sum=(int)(Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3)); 
    if (sum == num) 

    ret += Integer.toString(num) + " "; 
    }

    System.out.println("100~999之间的水仙花数为:" + ret 
      ); 

    }