我应该如何解释
我该如何解释?一种方法是将其作为logn(logn),其他方法是。两者都会给出不同的答案。
例如: 取基数2和n = 1024,在第一种情况下,我们得到10 * 10作为ans。在第二种情况下,我们得到10 ^ 10作为ans或我做错了什么?
答案 0 :(得分:2)
从程序员的角度来看,更好地理解函数的好方法是将其绘制在域的不同部分。
但是f(x) := ln(x)^ln(x)
的域名是什么?好吧,假设指数不是整数,则基数不能小于1
。为什么?因为0 < x < 1
的ln(x)为负数,而x <= 0
甚至没有定义。
但是x = 1
怎么样?鉴于ln(1) = 0
,我们将获得0^0
,这也未定义。因此,让我们在f(x)
和x
之间为1.000001
绘制1.1
。我们得到:
情节显示以这种方式在f(x)
扩展1
的定义没有任何害处(让我在这里使用伪代码):
f(x) := if x = 1 then 1 else ln(x)^ln(x)
现在,让我们看看x
的较大值会发生什么。以下是1
和10
:
这个情节也很有趣,因为它暴露了1
和3
之间的单一行为,所以让我们绘制域的那部分以便更好地看待它:
通过查看这个情节可以提出一些问题。例如,x
的{{1}}的价值是多少?嗯......这个值明显在f(x)=1
和2.7
之间(更接近2.8
)。我们知道的数字是否比2.7
稍微大一点?这个数字应与2.7
函数相关,对吧?好吧,ln
是基数ln
的对数,数字e
类似于e
。所以,它看起来像个好人,不是吗?我们来看看:
2.71828182845904...
所以,是的,我们问题的答案是f(e) = ln(e)^ln(e) = 1^1 = 1!
。
e
的另一个有趣值是曲线具有最小值的值,它位于x
和1.4
之间。但由于答案太长,我会停在这里。当然,您可以在遇到问题时不断绘制并回答自己的问题。请记住,您可以使用迭代数值算法来查找1.5
或x
的值,无论出于何种原因,这些值对您来说都很有趣。
答案 1 :(得分:1)
由于log(n^log n)=(log n)^2
,我认为log n^log n
应该被解释为(log n)^(log n)
。否则,取幂没有意义。但是那些为你写下来的人应该澄清一下。