今天突然想起以前一个计算2的N次方的问题,当时好像下了个什么小软件可以计算出来。现在找不着了,根据毛爷爷的指示精神,自己动手用PHP编程解决问题。编写这个程序的初衷是有这样一个问题:
假如(注意是假如)一张纸足够大,可以对折51次,高度是多少,设低的厚度为0.1mm?
结果绝对会让你想象不到:2的51次方是:2251799813685200 * 0.1mm,比地球到太阳的距离还要远!
把双横线下的代码保存为PHP后缀的文件,运行之,自己填次数按确定即可得出结果。
最大只能算到1023次方(结果是:2 的 1023 次方是: 8.9884656743116E+307 ),再大结果就是INF了(INF是无穷大,表示结果溢出了)。
没有PHP环境的朋友请到这里直接计算:计算2的n次方。
=============================================
计算2的N次方:<br />
<?php
//计算2的N次方
$num = 2;
$n = $_POST['count'];
if(empty($n))
{
?>
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
请输入次数:<input type="text" name="count" style="width: 50px;" maxlength="4" value="" />
<input type="submit" style="width: 60px; height: 25px;" value=" 确定 " />
</form>
<?php
}else{
?>
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF'] ?>">
请输入次数:<input type="text" name="count" style="width: 50px;" maxlength="4" value="" />
<input type="submit" style="width: 60px; height: 25px;" value=" 确定 " />
</form>
<?php
$i=1;
while($i<$n)
{
$num = $num * 2;
$i++;
}
echo "2 的 ".$n." 次方是: ".$num;
}
?>
<script type="text/javascript">
<!--
var a = window.prompt("Input",0);
if(a){
var k=2;
for(var i=1; i<a; i++){
k*=2;
}
alert(k);
}
//-->
</script>
想和你博客做个链接不知道行不?
已经做好了你的连接哦 ^_^
博客名称: 欧莱诺
博客地址: www.ddpcr.cn/
var a = window.prompt("Input",0);
if(a){
alert(Math.pow(2,a));
}
PHP 也有 pow 函数。



