本文目录一览:
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);
}
}
}
}