我知道racket的log
函数,它计算数字的自然对数。我试图找到数字的对数提升到任意基数。换句话说,而不是:
> (log 9)
2.1972245773362196
我想做类似的事情:
> (logarithm 3 9)
2
是否有任何人都知道内置于Racket或者PLaneT模块中可用的功能我可以这样使用吗?
答案 0 :(得分:15)
使用math:log k n = ln n / ln k:
(/ (log 9) (log 3))
答案 1 :(得分:3)
Racket 6.9.0.1为任意基础添加了第二个参数。 log k n现在可以写成(log n k)
。
根据文档,这相当于(/ (log n) (log k))
,但可能更快。