Java基础50道经典练习题(3)——水仙花数

【程序 3 水仙花数】
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例
如:153 是一个"水仙花数",因为 153=1 的三次方+5 的三次方+3 的三次方。
程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。
 
源码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package com.homework.test;
/*
题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例
如:153 是一个"水仙花数",因为 153=1 的三次方+5 的三次方+3 的三次方。
程序分析:利用 for 循环控制 100-999 个数,每个数分解出个位,十位,百位。
 */
 
public class NarcissisticNumber {
    public static void main(String[] args){
        for (int i = 100; i <= 999; i++) {
            if (fun(i)) {
                System.out.println(i);
            }
        }
    }
 
    /*
    判断是否为水仙花数
     */
    public static boolean fun(int num){
        int unit = num % 10;
        int decade = (num / 10) % 10;
        int hundred = num / 100;
//        System.out.print(hundred +" ");
//        System.out.print(decade+" ");
//        System.out.print(unit+"\n");
        if (unit*unit*unit + decade*decade*decade + hundred*hundred*hundred == num)
            return true;
        else
            return false;
 
    }
 
 
}

  

posted on   lifelicanpeng  阅读(654)  评论(0编辑  收藏  举报

编辑推荐:
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· 对象命名为何需要避免'-er'和'-or'后缀
阅读排行:
· 开发的设计和重构,为开发效率服务
· 从零开始开发一个 MCP Server!
· Ai满嘴顺口溜,想考研?浪费我几个小时
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
点击右上角即可分享
微信分享提示