bash 中的第 N 个根

Ser*_*Rey 1 bash shell scripting

我知道我可以在 bash 中得到一个数字的平方根,如下所示:

sqrt ( $aux )" | bc
Run Code Online (Sandbox Code Playgroud)

但是,我可以在 bash 脚本中获得浮点数的第 N 个根吗?

jm6*_*666 5

在数学中,数 x 的 n 次方根可以写成:

ňx = x (1/ n ) = e (ln x )/ n

不幸的是,bc只允许整数指数,所以你不能使用x^(1/n),因此你需要使用第二种形式,例如

echo "e( l(4)/5 )" | bc -l
Run Code Online (Sandbox Code Playgroud)

是 4 的第 5 个根。

1.31950791077289425936
Run Code Online (Sandbox Code Playgroud)

或者只是使用 perl 和 x**1/n

perl -E 'say 4**(1/5)' #parentheses are needed
# 1.31950791077289
Run Code Online (Sandbox Code Playgroud)