什么是水花仙数?
水花仙数就是一个n位数的每一位数字的n次方之和等于这个n为数,就称之为水花仙数
判断水花仙数步骤:
1.要知道这个数是几位。
2.得到每一位的数字的次方将其加起来。
3.将得到的数和之前的数进行对比,判断是否是水花仙数。
下面是java代码,有注释。
public static boolean isWFN(int number) {
boolean flag = false;
//判断是几位数,将这个数转换成字符串判断长度,比较简便。
int count=(number+"").length();
System.out.println(count);
//计算这个n位数的每位数的n次之和,进行比对。
int all = 0;
int num = number;
for (int i = 0; i < count; i++) {
int now = num%10;
int yuan = now;
//注意,这里是几次方,就得n-1次乘法,不然如果是n就是n+1次方了。
for (int j = 1; j < count; j++) {
//这里的次方是乘原来的那个数,所以我用yuan来存储原来的数。
now=now*yuan;
}
all+=now;
num = num/10;
}
//将两个数据进行对比。
if(number==all) {
flag=true;
}
return flag;
}