水仙花数是什么意思?根据百科的定义,水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身时这个数就是个水仙花数。这个问题的点在于获取各个位上的数字,获取数字之后就好判断了。
那么如何取得各个位上的数字呢?我们可以利用java中整型在除法中不会保留小数的特点来获得百位数。例如123/100,结果为1。
有了百位之后,我们将原数字余100,获得余掉百位后的两位数,再利用上面整型的特性去除以10,此时就得到了这个数的十位。
最后,将原数字直接用10求余,就得到了个位。
至此已经得到了各位上的数字。
最后进行三次方求和,判断即可
觉得这个太麻烦也可以用下面的函数达到相同的效果
全部代码如下:
←运行结果