本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
问题描述
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
解决方案
首先配置好运行环境,再给出整数类所需变量,依次根据水仙花数的定义,利用for循环将数值条件i规定在(100,1000)以内。再将判断条件代入进行逐步筛选,再使用一次for循环,将i进行整合,最后得到所有水仙花数并且统计水仙花数个数。
通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。
代码清单
代码语言:javascript复制package 水仙花;
public class test {
public static void main(String[] args) {
int i;
int sum = 0;
int a,b,c;
for(i=100;i<1000;i ) {
a = i/100;//百位
b = (i0)/10;//十位
c = (i0)-(b*10);//个位
a = a*a*a;
b = b*b*b;
c = c*c*c;
if((a b c) == i) {
System.out.println(i);
sum ;
}
}
System.out.println(sum);
}
}
结语
针对水仙花数求法通过java实现,解题思路与python异曲同工,但在实践中需注意两种编程语言所需的格式与语法的差别。
实习编辑:衡辉
稿件来源:深度学习与文旅应用实验室(DLETA)