龙空技术网

《JAVA筑基100例》「第3题」打印出100到999的所有水仙花数

小虚竹分享技术 154

前言:

目前小伙伴们对“水仙花数java”都比较重视,咱们都想要了解一些“水仙花数java”的相关文章。那么小编也在网摘上网罗了一些关于“水仙花数java””的相关文章,希望看官们能喜欢,我们快快来学习一下吧!

❤️作者简介:大家好,我是小虚竹。Java领域优质创作者,CSDN博客专家,华为云享专家,掘金年度人气作者,阿里云专家博主,51CTO专家博主

❤️技术活,该赏

❤️点赞 收藏 ⭐再看,养成习惯

零、前言

今天是学习 「JAVA语言」 打卡的第3天,我的学习策略很简单,题海策略+ 费曼学习法。如果能把这100题都认认真真地自己实现一遍,那意味着 「JAVA语言」 已经筑基成功了。后面的进阶学习,可以继续跟着我,一起走向架构师之路。

一、题目描述

题目:打印出100到999的所有 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。

例如:153 是一个 "水仙花数 ",因为 153=1 的三次方+5 的三次方+3 的三次方。

二、解题思路

利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。

使用java的三次方函数Math.pow(n,3)

三、代码详解

public class Basics03 {    public static void main(String[] args) {        for(int i=101;i<=999;i++) {            if(Math.pow(i%10, 3)+Math.pow(i/10%10, 3)+Math.pow(i/100, 3)==i){                System.out.println(i+"是水仙花数");            }        }    }}

如图

第一步:for循环101-999

第二步:每个数分解出个位,十位,百位

i%10 取个位

i/10%10 取十位

i/100取百位

第三步:分别对个位,十位,百位求各自的三次方

Math.pow(n,3)

第四步:这三个三次方进行求和,然后与i值进行判断比较,如果相等,则是水仙花数。

我是虚竹哥,我们下一题见~

标签: #水仙花数java