PTA 一元多项式的乘法与加法运算 设计函数分别求两个一元多项式的乘积与和。
2018-03-17 16:29
260 查看
设计函数分别求两个一元多项式的乘积与和。
输入格式:
输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:
输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。
输入样例:
4 3 4 -5 2 6 1 -2 0 3 5 20 -7 4 3 1
输出样例:
15 24 -25 22 30 21 -10 20 -21 8 35 6 -33 5 14 4 -15 3 18 2 -6 1 5 20 -4 4 -5 2 9 1 -2 0解析:用数组下标表示多项式的指数,数组中的数值为它的系数。
#include<iostream> #define N 10000 using namespace std; int a ; //存放第一个单项式 int b ; //存放第二个单项式 int c ; //存放乘的结果 int d ; //存放加的结果 int main() { int len1,len2,t1,t2; cin>>len1; for(int i=0;i<len1;i++) { cin>>t1>>t2; a[t2]+=t1; } cin>>len2; for(int i=0;i<len2;i++) { cin>>t1>>t2; b[t2]+=t1; } for(int i=N-1;i>=0;i--) if(a[i]) { for(int j=N-1;j>=0;j--) if(b[j]) { c[i+j]+=a[i]*b[j]; } } int count=0; for(int i=N-1;i>=0;i--) { if(c[i]) { if(count) cout<<" "; if(c[i]) cout<<c[i]<<" "<<i; count++; } } if(!count) cout<<"0 0"; cout<<endl; count=0; for(int i=N-1;i>=0;i--) { if(a[i]) d[i]+=a[i]; if(b[i]) d[i]+=b[i]; } for(int i=N-1;i>=0;i--) { if(d[i]) { if(count) cout<<" "; cout<<d[i]<<" "<<i; count++; } } if(!count) cout<<"0 0"; }
相关文章推荐
- PTA 线性结构2 一元多项式的乘法与加法运算
- PTA 一元多项式的乘法与加法运算
- pta 一元多项式的乘法与加法运算
- PTA 一元多项式的乘法与加法运算
- pta 一元多项式的乘法与加法运算
- pta 一元多项式的乘法与加法运算
- [PTA刷题]一元多项式的乘法与加法运算
- PTA 02-线性结构2 一元多项式的乘法与加法运算
- pta 一元多项式的乘法与加法运算
- PTA 数据结构 一元多项式的乘法与加法运算 (仅供参考,请勿粘贴)
- 一元多项式的乘法与加法运算 PTA02-线性结构1
- pta 一元多项式的乘法与加法运算
- PTA 一元多项式的乘法与加法运算
- pta 一元多项式的乘法与加法运算
- pta 一元多项式的乘法与加法运算
- mooc浙大数据结构PTA习题之一元多项式的乘法与加法运算
- pta 一元多项式的乘法与加法运算
- PTA习题 一元多项式的乘法与加法运算
- pta 一元多项式的乘法与加法运算
- PTA--一元多项式的乘法与加法运算