计算一元n次多项式P(x,n)=a0+a1x+a2x2+……+anxn的值,输入x,n,a0,a1,……an,输出多项式P(x,n)的值
时间: 2023-05-22 14:03:25 浏览: 140
2021-07-15:一元多项式的乘法计算(C++).cpp
5星 · 资源好评率100%
可以用以下的代码实现计算一元n次多项式的值:
```lua
function calc_poly_value(x, n, ...)
local args = {...}
local res = args[1]
for i = 2, n + 1 do
res = res + args[i] * math.pow(x, i - 1)
end
return res
end
```
其中,`x` 表示多项式中的变量值,`n` 表示多项式最高次数,`...` 表示每个系数 `a0` 到 `an`(共 n+1 个参数)。
例如,如果要计算多项式 `P(x) = 2 + 3x + 4x^2 + 5x^3` 在 `x=2` 时的值,则可以这样调用函数:
```lua
print(calc_poly_value(2, 3, 2, 3, 4, 5)) -- 输出 56
```
这里的参数依次是 `x=2`, `n=3`, `a0=2`, `a1=3`, `a2=4`, `a3=5`。函数的返回值为 `P(2)=56`。
希望这个回答能够解决你的问题!
阅读全文