检查两个数字是否等于php中相同数字的幂

问题描述 投票:-1回答:1

例如,由于25和2.2360679775(或5 ^ 0.5)都是5的幂,因此我希望函数返回5。我发现的唯一方法是强行使用它,然后尝试每个数字。

$one=25;
$two=125;

for($b=2;$b<=10;$b++)
{
    $x=pow($one,1/$b);

    for($c=2;$c<=10;$c++)
    {
        $y=pow($two,1/$c);

        if($y == $x)
        {       
            return $x;
        }
    }

}

php math exponent
1个回答
0
投票

正如Mbo在评论中指出的那样,每个数字(z)都是某个数字(x)到某个其他数字(y)的幂。因此,当您说“如果两个数字是相同幂的数字”时,您的意思还不是很清楚。尽管如此,您可以轻松地(无需使用蛮力)使用php中的log()函数找到给定x和z的y,如下所示:

 $z=125;
 $x=5;
 $y=log($z, $x);
 print $z . ' is ' . $x . ' to the power of ' . $y . '.';

这应该产生:

 125 is 5 to the power of 3.
© www.soinside.com 2019 - 2024. All rights reserved.