【问题标题】:Check if two numbers are powers of the same number in php检查两个数字是否是php中相同数字的幂
【发布时间】:2019-10-20 15:18:06
【问题描述】:

例如,由于 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;
        }
    }

}

【问题讨论】:

  • 任何值都等于 5 的某个幂。例如,Pi = 5^0.71126。所以值得改变问题的表述

标签: php math exponent


【解决方案1】:

正如 Mbo 在 cmets 中指出的那样,每个数字 (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.

【讨论】:

    猜你喜欢
    • 2021-06-21
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多