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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

[backcolor=white !important][size=1em]Java code
[color=white !important][size=1em]?

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em]12

[size=1em]13

[size=1em]14

[size=1em]15

[size=1em]16

[size=1em]17

[size=1em]18

[size=1em]19

[size=1em]20

[size=1em]21

[size=1em]22

[size=1em]23

[size=1em]24

[size=1em]25

[size=1em]26

[size=1em]27

[size=1em]28

[size=1em]29

[size=1em]30

[size=1em]31

[size=1em]32

[size=1em]33

[size=1em]34

[size=1em]35

[size=1em]36

[size=1em]37

[size=1em]38

[size=1em]39

[size=1em]40

[size=1em]41

[size=1em]42

[size=1em]43

[size=1em]44

[size=1em]45

[size=1em]46

[size=1em]47

[size=1em]48

[size=1em]49

[size=1em]50

[size=1em][size=1em]import java.math.*;
[size=1em]import java.util.*;

[size=1em]public class NarcissisticNumber {

[size=1em]    public static void main(final String[] args) {
[size=1em]        System.out.println("水仙花数列表");
[size=1em]        for (BigInteger bigInteger = new BigInteger("0");
[size=1em]                !bigInteger.equals(new BigInteger("115132219018763992565095597973971522402"));
[size=1em]                bigInteger = bigInteger.add(new BigInteger("1"))) {
[size=1em]            if (isNarcissisticNumber(bigInteger)) {
[size=1em]                System.out.println(getDateTime() + "\t" + bigInteger);
[size=1em]            }
[size=1em]        }
[size=1em]    }

[size=1em]    /**
[size=1em]     * 判断一个数是否为水仙花数:一个N位整数,其各位数字的N次方的和等于该数本身
[size=1em]     *
[size=1em]     * @param number
[size=1em]     * @return 当输入的参数为水仙花数时返回true,否则返回false
[size=1em]     */
[size=1em]    public static boolean isNarcissisticNumber(final BigInteger number) {
[size=1em]        BigInteger sumOfDigitPower = new BigInteger("0"); // 各位数字的N次方的和
[size=1em]        char[] digitArray = number.toString().toCharArray(); // 各位数字的数组
[size=1em]        for (char digit : digitArray) {
[size=1em]            sumOfDigitPower = sumOfDigitPower.add( // 求和
[size=1em]                    BigInteger.valueOf(
[size=1em]                            Character.digit(digit, 10) // 各位数字
[size=1em]                    ).pow(digitArray.length) // N次方
[size=1em]            );
[size=1em]        }
[size=1em]        return sumOfDigitPower.equals(number);
[size=1em]    }

[size=1em]    /**
[size=1em]     * @return 返回包含当前日期和时间的字符串
[size=1em]     */
[size=1em]    public static String getDateTime() {
[size=1em]        Calendar calendar = Calendar.getInstance();
[size=1em]        return ""
[size=1em]                + calendar.get(Calendar.YEAR) + "/"
[size=1em]                + (calendar.get(Calendar.MONTH) + 1) + "/"
[size=1em]                + calendar.get(Calendar.DATE) + " "
[size=1em]                + calendar.get(Calendar.HOUR_OF_DAY) + ":"
[size=1em]                + calendar.get(Calendar.MINUTE) + ":"
[size=1em]                + calendar.get(Calendar.SECOND) + ":"
[size=1em]                + calendar.get(Calendar.MILLISECOND);
[size=1em]    }
[size=1em]}





这是目前的执行结果,后面的数出不来了

[backcolor=white !important][size=1em]Plain Text code
[color=white !important][size=1em]?

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em]9

[size=1em]10

[size=1em]11

[size=1em]12

[size=1em]13

[size=1em]14

[size=1em]15

[size=1em]16

[size=1em]17

[size=1em]18

[size=1em]19

[size=1em]20

[size=1em]21

[size=1em]22

[size=1em]23

[size=1em]24

[size=1em]25

[size=1em]26

[size=1em]27

[size=1em]28

[size=1em]29

[size=1em]30

[size=1em][size=1em]水仙花数列表
[size=1em]2014/6/21 12:18:32:22    0
[size=1em]2014/6/21 12:18:32:68    1
[size=1em]2014/6/21 12:18:32:68    2
[size=1em]2014/6/21 12:18:32:68    3
[size=1em]2014/6/21 12:18:32:68    4
[size=1em]2014/6/21 12:18:32:68    5
[size=1em]2014/6/21 12:18:32:68    6
[size=1em]2014/6/21 12:18:32:68    7
[size=1em]2014/6/21 12:18:32:68    8
[size=1em]2014/6/21 12:18:32:68    9
[size=1em]2014/6/21 12:18:32:84    153
[size=1em]2014/6/21 12:18:32:84    370
[size=1em]2014/6/21 12:18:32:84    371
[size=1em]2014/6/21 12:18:32:84    407
[size=1em]2014/6/21 12:18:32:240    1634
[size=1em]2014/6/21 12:18:32:349    8208
[size=1em]2014/6/21 12:18:32:380    9474
[size=1em]2014/6/21 12:18:32:939    54748
[size=1em]2014/6/21 12:18:33:60    92727
[size=1em]2014/6/21 12:18:33:61    93084
[size=1em]2014/6/21 12:18:33:998    548834
[size=1em]2014/6/21 12:18:36:63    1741725
[size=1em]2014/6/21 12:18:40:52    4210818
[size=1em]2014/6/21 12:18:49:103    9800817
[size=1em]2014/6/21 12:18:49:303    9926315
[size=1em]2014/6/21 12:19:14:473    24678050
[size=1em]2014/6/21 12:19:14:473    24678051
[size=1em]2014/6/21 12:21:5:730    88593477
[size=1em]2014/6/21 12:22:47:128    146511208




2 个回复

正序浏览
看不太懂你的代码,我的你可以看下,希望有点帮助
//水仙花数100-999之间,
//比如153= 1*1*1+5*5*5+3*3*3=153

class ShuiXian {
        public static void main(String[] args) {
                int count = 0;
                for (int i = 100;i <= 999 ;i++ ) {
                        int g = i % 10;
                        int s = i / 10 % 10;
                        int b = i / 100;

                        if (g*g*g + s*s*s + b*b*b == i) {
                                count ++;
                        }
                }
                System.out.println("水仙花数是: " + count);
        }
}

回复 使用道具 举报
版主删了吧,不明白为什么会变成黑乎乎的一大块
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马