一元多项式的乘法与加法运算

7-2 一元多项式的乘法与加法运算 (20 分) 7-2 一元多项式的乘法与加法运算 (20 分) 设计函数分别求两个一元多项式的乘积与和。 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式: 输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0... 阅读详情

设计函数分别求两个一元多项式的乘积与和。

输入格式:

输入分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 <stdio.h>
#include <stdlib.h>
typedef struct Node    //定义单链表结构存储多项式 
{
	int xishu;
	int zhishu;
	struct Node *next; 
}Node,*List;
List input(List L,int num);     //读取数据 
List multi(List L1,List L2);    //两个多项式相乘 
List add(List L1,List L2);      //两个多项式相加 
void print(List L);            //输出多项式 
int main()
{
	int num1,num2;             //两个多项式的项数      
	List L1,L2,L;             //L1为第一个输入的多项式,L2为第二个输入的多项式,L为相加或相乘的结果 
	scanf("%d",&num1);
	L1=input(L1,num1);
	scanf("%d",&num2);
	L2=input(L2,num2);
	L=multi(L1,L2);
	print(L);
	printf("\n");
	L=add(L1,L2);
	print(L);
	return 0;
}

List input(List L,int num)
{
	int i;
	Node*p,*s;
	L=(Node*)malloc(sizeof(Node));       //建立头结点 
	L->next=NULL;
	p=L;
	for (i=0;i<num;i++)            //读入数据 
	{
		s=(Node*)malloc(sizeof(Node));
		scanf("%d%d",&s->xishu,&s->zhishu);
		p->next=s;
		p=s;
	}
	p->next=NULL;
	return L;	
}

List add(List L1,List L2)
{
	List L;
	Node*p,*s,*r,*Lp;
	p=L1->next;
	s=L2->next;
	L=(Node*)malloc(sizeof(Node));     //建立头结点 
	L->next=NULL;
	r=L;
	while (p && s)
	{
		Lp=(Node*)malloc(sizeof(Node));
		if (p->zhishu>s->zhishu)    
		{
			Lp->zhishu=p->zhishu;
			Lp->xishu=p->xishu;
			p=p->next;
		}else if (p->zhishu<s->zhishu)
		{
			Lp->zhishu=s->zhishu;
			Lp->xishu=s->xishu;
			s=s->next;
		}else
		{
			Lp->zhishu=p->zhishu;
			Lp->xishu=p->xishu+s->xishu;
			p=p->next;
			s=s->next;
			if (Lp->xishu==0) continue;       //如果系数相加等于0,则舍弃该项 
		}
		r->next=Lp;
		r=Lp;
	}
	r->next=p?p:s;
	return L;
}

List multi(List L1,List L2)
{
	List L,Lsum;
	Node*p,*s,*r,*Lp;
	p=L1->next;
	s=L2->next;
	Lsum=(Node*)malloc(sizeof(Node));           //建立头结点 
	Lsum->next=NULL;
	while (p)
	{
		L=(Node*)malloc(sizeof(Node));
		L->next=NULL;
		r=L;
		while(s)                             //依次乘以第二个多项式的每一项 
		{
			Lp=(Node*)malloc(sizeof(Node));
			Lp->xishu=(p->xishu)*(s->xishu);
			Lp->zhishu=(p->zhishu)+(s->zhishu);
			s=s->next;
			r->next=Lp;
			r=Lp;
		}
		r->next=NULL;
		Lsum=add(Lsum,L);              //将每次相乘得出的多项式累加 
		free(L);
		s=L2->next;                   //又从第二个多项式的头开始依次相称 
		p=p->next;	                  //以第一个多项式的下一项为相乘因子 
	}
	return Lsum;
}

void print(List L)
{
	Node*p;
	p=L->next;
	if (!p)                        //如果为零多项式,则打印 0 0 
	{printf("0 0");return;}
	printf("%d %d",p->xishu,p->zhishu);
	p=p->next;
	while (p)
	{
		printf(" %d %d",p->xishu,p->zhishu);
		p=p->next;
	}
}

 
7-2 一元多项式的乘法与加法运算 (20分) 7-2 一元多项式的乘法与加法运算 (20分) 设计函数分别求两个一元多项式的乘积与和。 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式: 输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。... 阅读详情

相关推荐

7-2 一元多项式的乘法与加法运算 (20 分)

设计函数分别求两个一元多项式的乘积与和。 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式: 输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。 输入样例: 4 3 4 -5 2...

qq_41194712的博客 4358

Python入门习题----多项式相乘

【问题描述】 编写一个程序实现两个一元多项式相乘。 【输入形式】 首先输入第一个多项式中系数不为0的项的系数和指数,以一个空格分隔。且该多项式中各项的系数均为0或正整数,系数和最高幂次不会超过int类型的表示范围。对于多项式 anxn +a n-1 x n-1 + ...+ a1x1 + a0x0 的输入方法如下: an  n  a n-1  n-1 ...  a1  1  a0  0 即相...

不祈求 ~ ~ 5190

一元多项式的乘法与加法运算(c++实现)

原题为PTA数据结构mooc的线性表作业第二题,题目如下: 本人是c++初学者,代码还是感觉有点费劲,大家轻拍砖。整个程序的逻辑就是四个函数组成,分别Read()函数读取输入多项式信息并形成链表,printchain()函数打印链表,chainplus()函数实现两个链表的加法,chainmult()函数实现两个链表的乘法。在设计乘法函数时,在其中也调用了加法函数进行计算。 #include&...

weixin_42403281的博客 2654

两个一元多项式相乘

编写一个程序实现两个一元多项式相乘。

weixin_64055968的博客 565

python实现多项式加减乘除

python中通过对加减乘除和输出函数的重载,用类实现多项式的加减乘除运算。

UE4游戏逆向实战:从HOOK明文包到自定义发包的完整流程(附加密算法解析)

本文详细解析了UE4游戏网络通信的逆向工程完整流程。从定位线程发包点、HOOK拦截明文封包,到逆向分析加密解密算法,最终实现自定义组包与加密发送。文章结合实战案例,为游戏安全研究和技术人员提供了一套清晰、可操作的方法论。

weixin_29009081的博客 1236

问题 F: DS-2.3.6 一元多项式运算器——求导(by Yan)

题目描述 实现多项式的求导运算. 输入 第一、二行按2.3.1的格式,输入一个多项式; 输出 按2.3.1的格式,输出其导数多项式。 样例输入 4 (6,0)(2,1)(8,7)(4,15) 样例输出 2+56X^6+60X^14 #include<stdio.h> #include<math.h> #include<stdlib.h> int main() { int n, m; int a[100][3]; scanf("%d", &n); get

weixin_43740054的博客 445

S7-200 SMART Modbus RTU从站配置与调试实战指南

本文提供了一份详细的S7-200 SMART PLC配置为Modbus RTU从站的实战指南。内容涵盖从硬件基础、软件准备、指令库调用、核心编程到地址映射与调试排错的完整流程。重点解析了MBUS_INIT与MBUS_SLAVE指令的关键参数配置,并深入探讨了Modbus地址与PLC内部V存储区的对应关系,帮助工程师快速打通通讯链路,实现与上位机、触摸屏等主站设备的稳定数据交互。

potato的博客 752

02 线性结构2 一元多项式的乘法与加法运算(python实现)

前言:这几天正在学习数据结构,整理课后习题。 题目: 设计函数分别求两个一元多项式的乘积与和。 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式: 输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0...

sinat_32403451的博客 7138

CMOS的宽/长比、传输门与三态门、锁存器与触发器、简单版图、竞争与冒险

目录 1.CMOS的宽长比 2.传输门与三态门 传输门 三态门 3.锁存器与触发器 3.1RS锁存器[3] 3.2D锁存器 3.3D触发器 4.简单CMOS器件的版图 5.竞争与冒险 1.CMOS的宽长比 关于COMS原理及结构图可以参考[1]COMS原理及门电路设计. 栅在源漏方向的长度称作栅的长L,垂直方向称为栅的宽W,如图1中NMOS的版图。 图1 以MOS管...

king阿金 1万+

Android车载应用开发与分析(11)- 车载Android应用开发入门指南

将时间回退到2017年我大学刚毕业时,彼时移动互联网就已经开始退潮,各大个培训机构也纷纷停止了Android相关的培训,曾经热火朝天的应用开发从那时起,就开始走向下坡路,小程序以及众多跨平台框架也让市场对Android原生开发的需求逐年降低,市场需求的降低也造就了Android开发的面试变得史无前例的“卷”。 终于我在2019年选择离开了互联网,投身当时还不是非常火热的车载Android领域继续从事Android原生开发。而这一年中国首个外商独资的整车制造项目,“...

linkwj的博客 1万+

数据结构:一元多项式的乘法与加法运算

中国大学MOOC视屏讲解 设计函数分别求两个一元多项式的乘积与和。 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式: 输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。 输入样例: ...

稀饭 2万+

黑猫带你学eMMC协议第4篇:eMMC概述

1 前言 声明: 本文依据eMMC JEDEC5.1协议及个人工作经验整理而成,如有错误请留言。 文章为个人辛苦整理,付费内容,禁止私自转载。 本文大约3000字,从emmc的内部结构框架、供电、总线、寄存器等各方面进行框架性的介绍,本章节内容不需要深入研究,读完本篇文章,只要能对emmc有个框架下的了解,就可以了。 2 内部结构框架 由图可以看出,emmc内部由两块组成:控制器 + 存储介质。emmc内部存储介质绝大部分为nand flash。 众所周知,我们需要存储数据到nand flash中,并

黑猫奥利奥的博客 3341

【编程题】7-2 一元多项式的乘法与加法运算

注意细节的处理,特别是C语言中会涉及到空间的开辟和释放,空间的重复利用,内存泄漏等问题。

木又可可的博客 1280

AI:240-YOLOv8高效涨点 |Swin Transformer的主干网络替换与优化(附代码 + 详细修改步骤 +原理介绍)

YOLOv8作为目标检测领域的最新版本,在速度和精度之间取得了良好的平衡。然而,随着计算机视觉任务的复杂性不断增加,YOLOv8的标准主干网络(Backbone)在处理高分辨率图像或多尺度目标时,可能存在一定的局限性。为了进一步提升YOLOv8的性能,我们可以引入Swin Transformer替换其主干网络,以增强模型的全局感知能力和多尺度特征提取能力。本文将详细介绍如何在YOLOv8中用Swin Transformer替换原有的Backbone,提供代码示例,并深入探讨其中的原理和效果。

一键难忘的博客 3960

Python实现将txt文件转换成对应的excel或csv文件

此外,在上面的例子中,txt文件是以“空格”分隔的,如果遇到“逗号”分隔的,只需将上述代码中的。本文是该专栏的第29篇,后面会持续分享python的各种干货知识,值得关注。工作上可能会遇到这样的情况,使用python将某个txt文本,按照。转换成对应的excel文件或者是csv文件。”需要替换成你的目标txt文件的绝对路径。库,这里直接引用就好。需要注意的是,上述代码中的“

Python进阶专栏《爬虫实战进阶》,《Pyppeteer从入门到精通》原创作者 4506

一元多项式的乘法与加法运算(java实现)

7-2 一元多项式的乘法与加法运算(20 分)设计函数分别求两个一元多项式的乘积与和。输入格式:输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。输入样例:...

weixin_38902950的博客 2919

大学生数学建模赛题解析及优秀论文-2021电工杯A题高铁牵引供电系统运行数据分析及等值建模(附Python代码)

我国是世界上电气化铁路运营里程最长、服役电力机车型号最多、运营最 繁忙的国家。截至 2020年底,我国铁路年消耗电量约800亿千瓦时,约占三峡 年总发电量的 80%。图1为高速铁路牵引供电系统示意图,主要包括牵引变电所、牵引网和动车 组。牵引变电所将 220kV三相电压转换为满足电力机车运行的27.5kV单相电压, 其核心元件是牵引变压器。牵引网由馈线、接触网、钢轨、回流线等组成,完成 对电力机车的送电任务。...

wenyusuran的专栏 3169

PTA 一元多项式的乘法与加法运算

设计函数分别求两个一元多项式的乘积与和。 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一个多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。 输出格式: 输出分2行,分别以指数递降方式输出乘积多项式以及和多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。零多项式应输出0 0。 输入样例: 4 3 4 -5 2 6 1 ...

椰树林YSL的博客 798

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: 队列
下一篇: 1051. Pop Sequence
PAT-python-zjw
博客等级 码龄10年 381粉丝 408原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值