PAT甲题题解-1009. Product of Polynomials (25)-多项式相乘
Posted 辰曦~文若
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT甲题题解-1009. Product of Polynomials (25)-多项式相乘相关的知识,希望对你有一定的参考价值。
多项式相乘
注意相乘结果的多项式要开两倍的大小!!!
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <string.h> using namespace std; //两个多项式相乘 const int maxn=1000+5; int k; //原本定义个exp导致编译错误,没想到定义成exp1、exp2也会编译错误,估计引起函数名冲突了 double exps1[maxn]; double exps2[maxn]; int main() { memset(exps1,0,sizeof(exps1)); memset(exps2,0,sizeof(exps2)); int ee; double val; scanf("%d",&k); for(int i=0;i<k;i++){ scanf("%d %lf",&ee,&val); exps1[ee]=val; } scanf("%d",&k); for(int i=0;i<k;i++){ scanf("%d %lf",&ee,&val); exps2[ee]=val; } double ans[maxn*2]; //注意这里要开2倍的大小 memset(ans,0,sizeof(ans)); for(int i=0;i<maxn;i++){ for(int j=0;j<maxn;j++){ ans[i+j]+=exps1[i]*exps2[j]; } } int cnt=0; for(int i=0;i<maxn*2;i++){ if(ans[i]!=0) cnt++; } printf("%d",cnt); for(int i=maxn*2-1;i>=0;i--){ if(ans[i]!=0){ printf(" %d %.1lf",i,ans[i]); } } return 0; }
以上是关于PAT甲题题解-1009. Product of Polynomials (25)-多项式相乘的主要内容,如果未能解决你的问题,请参考以下文章
PAT1009:Product of Polynomials
[PTA] PAT(A) 1009 Product of Polynomials (25 分)
PAT甲级——A1009 Product of Polynomials
PAT A1009 Product of Polynomials (25 分)