我正在尝试在 Scheme 中定义 log。例如如果
(log (exp 1)) ;=> 1.0
那我怎么写log5(25)呢?
方案中的
log
函数产生数字的自然对数(以e为底)。为了计算不同底数的对数,您只需将数字的 loge 除以所需底数的 loge。
在 Scheme 中定义一个 log5 函数:
(define (log5 x) (/ (log x) (log 5)))
然后
(log5 25)
会产生2.0
使用
log
过程的第二个参数(参见 Revised7 Report on the Algorithmic Language Scheme, p. 79):
日志过程现在接受指定对数底数的第二个参数。
例如
> (log 8 2)
3.0