我遇到了一个有趣的练习,它说:使用Turbo Pascal的标准函数实现函数x ^ y
对于integer
变量,我可以使用for
循环,但在这种情况下我无法理解如何使用real
变量。
我一直在考虑如何使用泰勒系列(无法理解如何使用它进行取幂)这样做,我也发现了x^y = exp(y*log(x))
但只有标准函数中的ln
(自然对数)......
PS 我不是要求你编写代码:请给我建议或链接或者有助于解决这个问题的东西。
答案 0 :(得分:3)
log(x)是自然对数,因此可以使用
x^y = exp(y*ln(x))
毫无疑问。 exp 和 ln 都是标准的Turbo Pascal函数
(通式为x ^ y = b ^(y * b的基数-b对数)
答案 1 :(得分:1)
log x base y = ln(x)/ ln(y)=(log x base 10)/(log y base 10)
以下链接提供了有关对数的更多信息。查看“更改基础”部分。 http://en.wikipedia.org/wiki/List_of_logarithmic_identities
您可以将基数更改为自然对数并进行相应计算。
For x = 3.2, y = 2.5,
Say 3.2^2.5 = m
ln(m) = 2.5*ln(3.2)
Hence m = exp( 2.5 * ln(3.2) )
实际上,对于上述内容,您甚至不需要更改基础