nhg*_*rif 16
我们知道数字的第N个根x等于将x提升到N的倒数的幂.知道这一点,我们可以使用该pow
函数来找到第N个根:
let nthRoot = pow(base, (1/n))
Run Code Online (Sandbox Code Playgroud)
其中base
和n
是浮点变量.
let nthRoot = pow(base, (1/n)) // will return nan for negative base
Run Code Online (Sandbox Code Playgroud)
该表达式是部分解决方案,因为它不适用于负数base
。
前任。所有数学定律都-27
明确定义了 的立方根( )。-3
这是一个正确计算负值的 n 次方根的函数,其中value
是 的根数n
:
func nthroot(value: Double, _ n: Double) -> Double {
var res: Double
if (value < 0 && abs(n % 2) == 1) {
res = -pow(-value, 1/n)
} else {
res = pow(value, 1/n)
}
return res
}
nthroot(-27, 3) // returns -3
Run Code Online (Sandbox Code Playgroud)
以及使用三元运算符的相同函数:
func nthroot(value: Double, _ n: Double) -> Double {
return value < 0 && abs(n % 2) == 1 ? -pow(-value, 1/n) : pow(value, 1/n)
}
nthroot(-27, 3) // also returns -3
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3354 次 |
最近记录: |