求解缺失指数的C#方法
本文关键字:方法 指数 | 更新日期: 2023-09-27 17:59:05
对于方程X^Y=Z,我如何编写一个c#方法来求解Y?一个已经存在了吗?
以下是我将拥有的一些数据示例-
2^Y=8
3^Y=9
试试这个
Y=Math.Log(8) / Math.Log(2)
您正在寻找Math.Log.
有了它,你可以做到:
x = Math.Log(8) / Math.Log(2)
也不是说有一个Math.Log10
是以10为底的对数——结果仍然是一样的。
不是最优化的选项,但您可以迭代通过大量数字的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}");
}
您可以了解X可以分配多少时间Z。
希望这能有所帮助。
while (Z > X)
{
Z = Z / X;
Y++;
}