世界上最高的山峰珠穆朗玛峰(8818.86米)假如我有一张足够大的纸,它的厚度是0.1毫米。请问我要折叠多少次可以折到超过珠穆朗玛峰(用while循环实现)

世界上最高的山峰珠穆朗玛峰(8818.86米)假如我有一张足够大的纸,它的厚度是0.1毫米。请问我要折叠多少次可以折到超过珠穆朗玛峰(用while循环实现)有人会吗求解答


    public static void main(String[] args) {
        int res = 8818860;
        double i = 0.1;
        int time = 0;
        while (i < res){
            i *= 2;
            ++time;
        }
        System.out.println(time);
    }

有帮助点个采纳吧

private int getTimes(){
        int curr = 0;
        int ans = 0;
        int cmp = 88689600;//能用整型放下不报错,说明整型范围内,说明这个值不超2的31次方减1,那么整型范围内第一个比它小的值加1个就是答案,枚举2的30到0次即可
        for(int i = 30; i >= 0; i--){
            if((1<<i)<=cmp){
                return i+1;
            }
        }
        return 31;
    }