水仙花数

水仙花数: 水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)。同理,若为四阶的数,是四次方。在编程时要注意这一点。

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package narcissisticNumber;
public class narcissisticNumber {
public static void main(String[] args) {
int a,b,c;
int i=1,s=0;
for(a=0;a<10;a++)
{
for(b=0;b<10;b++)
{
for(c=0;c<10;c++)
{
s=a*a*a+b*b*b+c*c*c;
if (s==a*100+b*10+c*1)
{
System.out.print("第"+i+"个水仙花数为:"+s+"\n");
i++;
}
}
}
}
}
}

  • 1、使用循环的方式实现该算法。十进制的每位数都有0~9组成,所以这就是循环的条件。核心的算法是比较,比较每位数的立方的和是否等于有这几个数组成的十进制数。
  • 2、当三阶转换成四阶时,每位数的三次方要转变成四次方。
  • 3、在用编程语言表示一个由三位数组成的数时,可表示为s=a·100+b·10+c;其中a,b,c分别为百位,十位,个位。