题解 | 多项式的值
#include <bits/stdc++.h> #include <cstring> using namespace std; const int LEN=1000; struct Fuc{ int a[LEN]; int x,len; Fuc(int b[],int y,int n){ memset(a,0, sizeof(a)); len=n; for(int i=0;i<len;i++){ a[i]=b[i]; } x=y; } int getAns(){ int ans=0; for(int i=0;i<len;i++){ ans+=a[i]*pow(x,i); } return ans; } }; int main(){ int m; while(cin>>m){ while(m--){ int n; cin>>n; n++; int a[n]; for(int i=0;i<n;i++)cin>>a[i]; int x; cin>>x; cout<<Fuc(a,x,n).getAns()<<endl; } } }
多项式是不定项的,就按照类似于数组的方式存储即可