【Java基础】-案例学习

2020-07-02  本文已影响0人  irenb

案例1:在控制台输出所有的“水仙花数”

什么是水仙花数:
1.水仙花数是一个三位数,如:111,222,333,370,371,520,999
2.水仙花数的个位、十位、百位的数字立方和等于原数
如:
1³ + 2³ + 3³ = 1 + 8 + 27 = 36 ≠ 123 (不是水仙花数)
3³ + 7³ + 1³ = 27 + 343 + 1 = 371 = 371 (是水仙花数)

/**
 *  输出水仙花数
 */
public static void test() {
    for (int i = 100; i < 1000; i++) {
        int a = i % 10; // 个位
        int b = i % 10 % 10; // 十位
        int c = i % 10 % 10 % 10;  // 百位
        if (a * a * a + b * b * b + c * c * c == i) {
            System.out.println(i); // 输出水仙花数
        }
    }
}

案例2:珠穆朗玛峰

世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度?

/**
 *  珠穆娜玛峰高度
 */
public static void test4() {
    int count = 0; // 折叠次数
    double houdu = 0.1; // 纸张厚度
    while (houdu <= 8844430) {
        houdu *= 2;
        count++;
    }
    System.out.println(count); // 折叠次数(27次)
}
上一篇下一篇

猜你喜欢

热点阅读