A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

请教怎么在控制台输出所有的”水仙花数”。

2 个回复

倒序浏览

public class ShuiXianHuaCount {

        public static void main(String[] args) {
                getCount();
        }

        public static void getCount() {
                int count = 0; // 定义水仙花数的个数
                for (int x = 100; x <= 999; x++) {
                        int bai = x / 100; // 获取百位数
                        int shi = x % 100 / 10; // 获取十位数
                        int ge = x % 10; // 获取个位数
                        if (x == Math.pow(bai, 3) + Math.pow(shi, 3) + Math.pow(ge, 3)) {
                                count++; // 每当符合水仙花数条件时,count++;
                                System.out.print(x + " "); // 输出符合条件的数,可选。
                        }
                }
                System.out.println();
                System.out.println("水仙花数总共有:" + count + "个");
        }
}
回复 使用道具 举报
public class Demo03_For_GetNarcissisticNumber {

        public static void main(String[] args) {
                // 在控制台输出所有的”水仙花数”
                getNarcissisticNumber();
        }

        public static void getNarcissisticNumber() {
                int count = 0;
                for (int i = 100; i < 1000; i++) {
                        // a:百位数;b:十位数;c:个位数
                        int a = i / 100;
                        int b = (i % 100) / 10;
                        int c = i % 10;
                        // 求其各位数字的立方和
                        double temp = Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3);
                        // 若是"水仙花数",则将其输出
                        if (i == temp) {
                                System.out.print(i + ", ");
                                count++;
                        }
                }
                System.out.println("水仙花数共计" + count + "个");
        }
}

代码.png (154.53 KB, 下载次数: 18)

代码.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马