日期:2014-05-20  浏览次数:20809 次

怎么用java打印出水仙花数
谁知道用java来编写水仙花数的程序,急需高手们的指导!!!

------解决方案--------------------
import java.beans.*;
public class Shuixianhua {

/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
int i,j,k;
;

for(i=1;i<10;i++)
for(j=0;j<10;j++)
for(k=0;k<10;k++)
{
if(i*i*i+j*j*j+k*k*k==100*i+10*j+k)
System.out.println("水仙花树:"+(100*i+10*j+k));
}
}
}

------解决方案--------------------
public class ShuiXian{
public static void main(String[] args){
int i=153;
int j=i/100;
int k=(i/10)%10;
int n=i%10;
if(i>=100&&i<1000){
if(i==j*j*j+k*k*k+n*n*n){
System.out.println(i+"是水仙花数!");
}else{
System.out.println(i+"不是水仙花数!");
}
}else{
System.out.println("输入的不是三位数!");
}
}
}
------解决方案--------------------
探讨
public class ShuiXian{
public static void main(String[] args){
int i=153;
int j=i/100;
int k=(i/10)%10;
int n=i%10;
if(i>=100&&i <1000){
if(i==j*j*j+k*k*k+n*n*n){
System.out.println(i+"是水仙花数!");
}else{
System.out.println(i+"不是水仙花数!");
}
}else{


------解决方案--------------------
Java code

public class ShuiXian{
    public static void main(String[] args){
        int i=153;
        int j=i/100;
        int k=(i/10)%10;
        int n=i%10;
        if(i>=100&&i <1000){
            if(i==j*j*j+k*k*k+n*n*n){
              System.out.println(i+"是水仙花数!");
            }else{
              System.out.println(i+"不是水仙花数!");
            }
        }else{
            System.out.println("输入的不是三位数!");
        }
    }
}

------解决方案--------------------
Java code

public class Test {
 //把0-9的n次方先算出来保存到一个数组里,每次用到的时候直接去取,避免多次运算,提高效率.
    private static final int[] arr = {0,1,8,27,64,125,216,343,512,729};
    public static void main(String[] args) { 
        System.out.println(isArmstrongNumber(153));
    } 
    
    public static boolean isArmstrongNumber(int n) { 
        int temp = n;
        while(temp!=0) {
            n -= arr[temp%10];
            temp/=10;
        }
        return n==0;
    } 
}