您的位置:

关于java求8位的自幂数的信息

本文目录一览:

java面试题求解?

水仙花数只是自幂数的一种,严格来说三位数的3次幂数才成为水仙花数。

附:其他位数的自幂数名字

一位自幂数:独身数

两位自幂数:没有

三位自幂数:水仙花数

四位自幂数:四叶玫瑰数

五位自幂数:五角星数

六位自幂数:六合数

七位自幂数:北斗七星数

八位自幂数:八仙数

九位自幂数:九九重阳数

十位自幂数:十全十美数

所以如果是求水仙花数的话只需要计算3位的,for循环解决,代码我就不贴了,在网吧没环境

java求8位的自幂数,哪里出错了?

因为Math.pow函数返回的值是double型,所以需要转成int型的数据,把它转换一下就行了。

完整的程序如下:

public class FF {

 public static void main(String[] args) {

  int a[]=new int [8];

  int n=100000000;

  for(int i=n/10;in;i++){

   a[0]=i%10;

   a[1]=(i-a[0])/10%10;

   a[2]=(i-a[1]*10-a[0])/100%10;

   a[3]=(i-a[2]*100-a[1]*10-a[0])/1000%10;

   a[4]=(i-a[3]*1000-a[2]*100-a[1]*10-a[0])/10000%10;

   a[5]=(i-a[4]*10000-a[3]*1000-a[2]*100-a[1]*10-a[0])/100000%10;

   a[6]=(i-a[5]*100000-a[4]*10000-a[3]*1000-a[2]*100-a[1]*10-a[0])/1000000%10;

   a[7]=(i-a[6]*1000000-a[5]*100000-a[4]*10000-a[3]*1000-a[2]*100-a[1]*10-a[0])/10000000%10;

   if(i==(int)(Math.pow(a[7], 8))+

     (int)(Math.pow(a[6], 8))+

     (int)(Math.pow(a[5], 8))+

     (int)(Math.pow(a[4], 8))+

     (int)(Math.pow(a[3], 8))+

     (int)(Math.pow(a[2], 8))+

     (int)(Math.pow(a[1], 8))+

     (int)(Math.pow(a[0], 8))){

    System.out.println(i+" ");

   }

    

  }

 }

}

运行结果:

24678050

24678051

88593477

用Java写个关于“水仙花数”的程序?

按一下代码执行:

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次幂数才称为水仙花数。

一位自幂数:独身数

两位自幂数:没有

三位自幂数:水仙花数

四位自幂数:四叶玫瑰数

五位自幂数:五角星数

六位自幂数:六合数

七位自幂数:北斗七星数

八位自幂数:八仙数

九位自幂数:九九重阳数

十位自幂数:十全十美数

参考资料:

水仙花数——百度百科

JAVA编程题 -求自幂数(题目如图)

1000以内,先转化char数组,迭代相加

public class ds {

public static void main(String[] args) {

ss();

}

public static void ss(){

for(int j =0;j1000;j++){

String str = j+"";

char [] a = str.toCharArray();

int count = 0;

for(int i=0;istr.length();i++){

int b = Integer.valueOf(a[i]+"");

count+=b*b*b;

}

if (count==j) {

System.out.println(j);

}

}

}

}