世界上最高的山峰珠穆朗玛峰(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;
}