黑马程序员技术交流社区

标题: 请教怎么在控制台输出所有的”水仙花数”。 [打印本页]

作者: PeterPang    时间: 2016-1-16 23:48
标题: 请教怎么在控制台输出所有的”水仙花数”。
请教怎么在控制台输出所有的”水仙花数”。
作者: 宋达思    时间: 2016-1-17 20:56

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 + "个");
        }
}

作者: furuigang    时间: 2016-1-17 22:36
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, 下载次数: 11)

代码.png





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2