Java经典算法40题 – 题目3

【程序3】题目:
打印出所有的 “水仙花数 “,所谓 “水仙花数 “是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 “水仙花数 “,因为153=1的三次方+5的三次方+3的三次方。

package org.sixlab.algorithm40;

public class DaffodilsNumber {
    public static void main(String\[\] args) {
        for (int i = 100; i < 1000; i++) {
            if (isDaffodilsNumber(i)) {
                System.out.println(i);
            }
        }
    }

    private static boolean isDaffodilsNumber(int num) {
        String numString = String.valueOf(num);
        int plus = 0;
        for (int i = 0; i < numString.length(); i++) {
            int a = (int) (num / (Math.pow(10, i)));
            a %= 10;
            plus += (int) Math.pow(a, 3);
        }
        if (num == plus) {
            return true;
        } else {
            return false;
        }
    }
}

上一篇
Java经典算法40题 – 题目4 Java经典算法40题 – 题目4
【程序4】题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。思路:对于一个数字num,从2到num/2+1逐个判断当前数字是否是质数、且当前数字能否被num整除,如果条件都满足,则此数字就是一个质因数,则num=nu
2014-04-04
下一篇
Java经典算法40题 – 题目2 Java经典算法40题 – 题目2
【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。 思路:先写一个函数判断传进来的是否是素数,然后for循环101-200之间的所有的数。 package org.sixlab.algorithm40; import j
2014-03-29