问题描述
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
解决方案
首先配置好运行环境,再给出整数类所需变量,依次根据水仙花数的定义,利用for循环将数值条件i规定在(100,1000)以内。再将判断条件代入进行逐步筛选,再使用一次for循环,将i进行整合,最后得到所有水仙花数并且统计水仙花数个数。
通过实验、实践等证明提出的方法是有效的,是能够解决开头提出的问题。
代码清单
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 = (i%100)/10;//十位 c = (i%100)-(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异曲同工,但在实践中需注意两种编程语言所需的格式与语法的差别。
版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/where2go/3656925,作者:算法与编程之美,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。