题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
水仙花数的问题:这个没感觉到要什么的算法?就按照一般的找规律,规规整整的码出来就是。public class Three3PerfectNumber {
public static void main(String[] args) {
// TODO Auto-generated method stub
//键盘输入
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
//检验这个数是否合格
if(a>100 || a<=1000){
if(isperfect(a)){
System.out.println(a+"是水仙花数");
}else{
System.out.println("这个数不是水鲜花数);
}
}
else{
System.out.println("你输入的数据有误");
}
}
//判断是否是水仙花数的方法
public static boolean isperfect(int a)
{
boolean flag=true;
//计算百位
int b=a/100;
//计算十位
int c=(a%100)/10;
//计算个位
int d=a%10;
//几个数之和
int sum=b*b*b+c*c*c+d*d*d;
//判断是水仙花数
if(sum ==a)
{
flag =true;
}else
{
flag=false;
}
return flag;
}
}
public class Three3PerfectNumber {
public static void main(String[] args) {
// TODO Auto-generated method stub
//键盘输入
Scanner sc=new Scanner(System.in);
int a=sc.nextInt();
//检验这个数是否合格
if(a>100 || a<=1000){
if(isperfect(a)){
System.out.println(a+"是水仙花数");
}else{
System.out.println("这个数不是水鲜花数);
}
}
else{
System.out.println("你输入的数据有误");
}
}
//判断是否是水仙花数的方法
public static boolean isperfect(int a)
{
boolean flag=true;
//计算百位
int b=a/100;
//计算十位
int c=(a%100)/10;
//计算个位
int d=a%10;
//几个数之和
int sum=b*b*b+c*c*c+d*d*d;
//判断是水仙花数
if(sum ==a)
{
flag =true;
}else
{
flag=false;
}
return flag;
}
}