水仙花数的条件应该是:
创新互联-专业网站定制、快速模板网站建设、高性价比柞水网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式柞水网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖柞水地区。费用合理售后完善,10年实体公司更值得信赖。
if ((i * 100 + j * 10 + k) == (i * i * i + j * j * j + k * k * k))
你的条件错了。
你上面的k循环那里打错字了,应该是k=9,不是j=9
按一下代码执行:
public class woo {
public static void main(String args[]) {
System.out.println("100-1000中的水仙花数有:");
for(int i=100;i1000;i++){
int single = i%10;
int ten = i/10%10;
int hundred = i/10/10%10;
//水仙花数判断要求
if(i == (single*single*single+ten*ten*ten+hundred*hundred*hundred)){
System.out.println(i);
}
}
}
}
扩展资料:
水仙花数只是自幂数的一种,严格来说3位数的3次幂数才称为水仙花数。
一位自幂数:独身数
两位自幂数:没有
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数
参考资料:
水仙花数——百度百科
所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。代码如下
public class Shuixianhua {
/**
* 判断数字是否是水仙花数
* @Title: shuixianhua
* @param:@param x
* @param:@return
* @return:boolean
* @Description:
* @date 2017年11月2日 下午3:03:10
* @throws
*/
public boolean shuixianhua(int x)
{
int i=0,j=0,k=0;
i=x / 100;
j=(x % 100) /10;
k=x % 10;
if(x==i*i*i+j*j*j+k*k*k)
return true;
else
return false;
}
public static void main(String[] args) {
//存放所有水仙花数的集合
ListInteger sxhList=new ArrayListInteger();
Shuixianhua sxh=new Shuixianhua();
for(int i=1;i=1000;i++){
//判断是否是水仙花数,是则放入集合
if(sxh.shuixianhua(i)){
sxhList.add(i);
}
}
//打印所有水仙花数
System.out.println(sxhList.toString());
}
}
public class Daffodil {
/**
*
* @param
* @return void
* @param args
* desc
*/
public static void main(String[] args) {
for (int n = 100; n 999; n++) {
int a = n / 100;
int b = (n % 100) / 10;
int c = n % 10;
if(Math.pow(a, 3)+Math.pow(b,3)+Math.pow(c,3)==n){
System.out.println(n);
}
}
}
}