我想检查输入变量是否在POWER基础中。
例如:
输入:25; //是幂功率(5,2) 输入:26; //没有权力
我制作了一段代码但是花了很长时间
$var = 25;
$half = round($var / 2);
for($x = 0; $x <= $half; $x++){
for($y = 0; $y <= $half; $y++){
if(pow($x, $y) === $var){
$output = "1";
}
}
}
if(!$output){
echo "0";
}else{
echo "1";
}
答案 0 :(得分:1)
您可以使用sqrt
返回给定数字的平方根,然后检查返回的值是否为十进制值。
$var = 25;
$sqrt = sqrt($var);
if($sqrt !== floor( $sqrt )) {
echo 'no power';
} else {
echo 'power';
}