7-1 一元多项式的乘法与加法运算(20 point(s))
来源:互联网 发布:java的用户登录界面 编辑:程序博客网 时间:2024/05/27 09:44
7-1 一元多项式的乘法与加法运算(20 point(s))
设计函数分别求两个一元多项式的乘积与和。
输入格式:
输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
输出格式:
输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0
。
输入样例:
4 3 4 -5 2 6 1 -2 03 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 15 20 -4 4 -5 2 9 1 -2 0code:
#include <stdio.h>#include <string.h>#include <math.h>int a[2000],b[2000],ans[3000];int na,nb;//加法函数void addP(){memset(ans,0,sizeof(ans));int i;int t = 0;for(i = 0; i <= 1005; i++){ans[i] = a[i]+b[i];//数组直接相加即可if(ans[i]!=0)t++;//统计不为零的个数}if(t==0){ printf("0 0\n");//零多项式特例 return ;}int flag = 0;for(i = 1005; i >=0; i--){if(ans[i]!=0){//不为零输出 if(!flag){ printf("%d %d",ans[i],i); flag = 1; } else printf(" %d %d",ans[i],i); }}putchar('\n');return ;}//乘法函数void multiP(){memset(ans,0,sizeof(ans));int i,j;int t = 0;for(i = 0; i < 1005; i++){if(a[i]!=0){for(j = 0; j < 1005; j++){if(b[j]!=0){ans[i+j] += a[i]*b[j]; //直接遍历即可,注意这里是+=不能是=,因为后面相乘可能出现同指数的不能覆盖只能相加if(ans[i+j]!=0)t++;//同理}}}}if(t==0){printf("0 0\n");return ;//零多项式特例}int flag = 0;for(i = 2005; i >=0; i--){if(ans[i]!=0){//不为零输出 if(!flag){ printf("%d %d",ans[i],i); flag = 1; } else printf(" %d %d",ans[i],i); }}putchar('\n');return ;}int main(){memset(a,0,sizeof(a));memset(b,0,sizeof(b));scanf("%d",&na);int i;int index,value;for(i = 0; i < na; i++){scanf("%d%d",&value,&index);a[index] = value;}scanf("%d",&nb);for(i = 0; i < nb; i++){scanf("%d%d",&value,&index); b[index] = value;}//读入数据,因为数据量较小,以数组的下标作为指数,数组值为系数//乘法:multiP();//加法:addP();return 0;}
阅读全文
0 0
- 7-1 一元多项式的乘法与加法运算(20 point(s))
- 7-1(链表) 一元多项式的乘法与加法运算(20 point(s))
- PTA 7-1 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算(20 分)
- 一元多项式的乘法与加法运算(20 分)
- 一元多项式的乘法与加法运算(20 分)
- 一元多项式的乘法与加法运算(20 分)
- 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算
- 一元多项式的加法与乘法运算
- 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算
- 一元多项式的乘法与加法运算 (模拟)
- 02-线性结构1 一元多项式的乘法与加法运算 (20分)
- 初识数组与函数
- 腾讯云实验室:搭建 LNMP 环境
- 工作笔记
- 面试杂记(1)
- 2010年北京邮电大学网院研究生机试真题 newoj 1914树查找
- 7-1 一元多项式的乘法与加法运算(20 point(s))
- opencv 线性图像融合
- Mybatis学习笔记(三)【入门程序一】
- css文件和js文件以及script脚本放置位置
- PAT Basic 1017
- iOS对某一个view截图方法
- 7-2 列车厢调度(25 point(s))(栈的经典题目)
- 关于rand函数
- java:InputStream读取文件时出现中文乱码问题