使用等式X ^ Y = Z,如何编写c#方法来解决Y? 一个人已经存在吗?
以下是我将拥有的数据的一些示例 -
2 ^ Y = 8
3 ^ Y = 9
答案 0 :(得分:4)
试试这个
Y=Math.Log(8) / Math.Log(2)
答案 1 :(得分:1)
答案 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++;
}