求解缺失指数的C#方法

时间:2016-07-28 21:47:59

标签: c#

使用等式X ^ Y = Z,如何编写c#方法来解决Y? 一个人已经存在吗?

以下是我将拥有的数据的一些示例 -

2 ^ Y = 8

3 ^ Y = 9

4 个答案:

答案 0 :(得分:4)

试试这个

Y=Math.Log(8) / Math.Log(2)

答案 1 :(得分:1)

您正在寻找Math.Log

你可以这样做:

x = Math.Log(8) / Math.Log(2)

也不是说Math.Log10是基数10的对数 - 结果是一样的。

答案 2 :(得分:0)

不是最优化的选项,但您可以迭代大量数字的for循环,并迭代地逐个检查。只是一个突然出现在我脑海中的解决方案。代码看起来像:

    int base = 2;
    int exponent;
    int result = 8;

for(int i = -9999; i<= 10000000; i++)
{
  exponent = i;
  if(Math.Pow(2,exponent) == result)
{
 WriteLine($"Y = {exponent}");
}

答案 3 :(得分:0)

您可以找出X可以分配多长时间。

希望这有帮助。

while (Z > X) 
{
  Z = Z / X;
  Y++;
}