用数据结构和c语言写一个三元三次多项式求值
时间: 2023-05-29 16:07:05 浏览: 124
三元三次多项式可以表示为:
f(x,y,z) = Σi=0^3 Σj=0^3 Σk=0^3 ai,j,k xi yj zk
其中,ai,j,k 是系数。
我们可以使用三重循环来计算该多项式在给定点(x,y,z)处的值:
```
#include<stdio.h>
// 定义三元三次多项式系数
int a[4][4][4] = {
{{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},
{{17,18,19,20},{21,22,23,24},{25,26,27,28},{29,30,31,32}},
{{33,34,35,36},{37,38,39,40},{41,42,43,44},{45,46,47,48}},
{{49,50,51,52},{53,54,55,56},{57,58,59,60},{61,62,63,64}}
};
// 计算三元三次多项式在(x,y,z)处的值
int eval(int x, int y, int z) {
int sum = 0;
for(int i=0; i<4; i++) {
for(int j=0; j<4; j++) {
for(int k=0; k<4; k++) {
sum += a[i][j][k] * pow(x, i) * pow(y, j) * pow(z, k);
}
}
}
return sum;
}
int main() {
int x = 1, y = 2, z = 3;
int result = eval(x, y, z);
printf("f(%d,%d,%d) = %d", x, y, z, result);
return 0;
}
```
运行结果:
```
f(1,2,3) = 215510
```
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)