一张纸的厚度是0.01毫米,则该纸对折30次后是多厚(据说超过珠穆朗玛峰的高度)php实现

首先分析一张纸厚度0.01mm,当折叠一次 0.01X2,折叠2次 0.01X2X2,一次类推一直到0.01Xpow(2,30)。我们可以得到简单的php的平方计算方法代码如下:

//pow 直接计算
		echo (pow(2,30)*0.01/1000)."<br/>";

while循环的代码如下:

//while循环
		$thickness = 0.01;
		$i = 1;
		while ($i<=30){
			$thickness = $thickness*2;
			$i++;
		}
		
		echo ($thickness/1000)."<br/>";

递归计算

//递归
 function thickness($h,$count){
		$count--;
		$h = $h*2;
		if( $count > 0 ){
			return thickness($h,$count );
		}else{
			return $h;
		} 
	}

echo (thickness( 0.01, 30)/1000)."<br/>";

for循环计算

//for循环
		$thickness = 0.01;
		for($i = 0; $i<30; $i++){
			$thickness = $thickness*2;			
		}
		echo ($thickness/1000)."<br/>";

计算结果:

10737.41824
10737.41824
10737.41824
10737.41824