我需要查找给定的数字是否为整数的立方。
大学提问:设计一个PHP页面,检查输入的数字是否是PHP中整数的立方体。
在下面的程序中,is_float()
无法检查$num2
是否浮动。我不知道为什么。
<?php
$num=$_POST["t1"];
$num2=pow($num,1/3);
echo $num2."<br>";
$res=$num%$num2;
echo $res."<br><br>";
$test=is_float($num2);
echo "float ".$test."<br>";
var_dump(is_float($num2));
//if($num%$num2==0 || $num%$num2==1)
if (is_float($num2)==TRUE) {
echo"<font color='FF0000' size='+2'>". $num. " is not Cube of an integer</font>";
} else {
echo "<font color='FF0000' size='+2'>". $num. " is a Cube of an integer</font>";
}
?>
答案 0 :(得分:0)
我希望你的老师不会 Stack Overflow ;)
我只会给你一些建议,所以你可以自己找出答案。来吧,它并不难! 无论如何,我也发布了解决方案。
您是否尝试检查返回的号码类型:
pow(27, 1/3);
我的猜测是,当你要求他计算一个功率小于1的数字时,PHP总会返回一个浮点数,否则为整数。
解决方案:这里最好的是检查pow()的结果是否等于它自身的整个部分。你可以使用floor()函数(参见http://php.net/manual/function.floor.php):
// ...
$num2 = pow($num, 1/3);
$test = ($num2 == floor($num2))
// ...