7-2 一元多项式的乘法与加法运算 (20 分)(思路加详解+map做法)map真香啊 各个测试点的用例子 来吧宝贝!

一:题目

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

输入格式:
输入分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

二:补充测试用例

测试点2:

2 1 2 1 0
2 1 2 -1 0

测试用力3:

2 -1000 1000 1000 0	
2 1000 1000 -1000 0

测试用例4:

0
0 1 2 3

三:思路

思路:用map<int,int>进行 存储数据;在处理乘积的时候 一个系数 对应一个指数,
若指数相同 对系数进行累加
处理多项式和的运算同理

四:上码

/**思路:用map<int,int>进行 存储数据;在处理乘积的时候 一个系数  对应一个指数,若指数相同 对系数进行累加 */
#include<bits/stdc++.h>
using namespace std;int main(){int N,M;int arr1[1001],arr2[1001];
//	map<int,int>m;std::map<int, int, std::greater<int> > m,m2;  //map默认的递增 ,这样改成递减的 
//在创造map时,增加参数 **std::greater<int>**,就变成增加map<int,int>::iterator t; cin >> N;for(int i = 0; i < 2 * N; i++){int nums;cin >> nums;arr1[i] = nums;}cin >> M;for(int i = 0; i < 2 * M; i++){int nums;cin >> nums;arr2[i] = nums; }//	4 3 4 -5 2  6 1  -2 0
//  3 5 20  -7 4  3 1//计算乘积 for(int i = 0; i < 2 * N - 1; i = i + 2){for(int j = 0; j < 2 * M - 1; j = j + 2){int temp1 = arr1[i + 1] + arr2[j + 1]; //指数相加 int temp2 = arr1[i] * arr2[j];//系数相乘 m[temp1] += temp2;//一个指数  对应系数(如果有指数相同的则累加) 			}}int flag = 0; if(N == 0 || M == 0){cout << "0 0";}else{for(t = m.begin(); t != m.end(); t++){if(flag == 0 && t->second != 0)//这里的t->second != 0 说的是系数不为0,一旦为0,就什么也不输出 cout << t->second << ' ' <<  t->first;else if(t->second != 0){cout << ' ' << t->second << ' ' << t->first; }	flag = 1;} }cout << endl;//计算多项式的和for(int i = 0; i < 2 * N - 1; i = i + 2){m2[arr1[i+1]] = arr1[i]; } for(int i = 0; i < 2 * M - 1; i = i + 2){m2[arr2[i+1]] += arr2[i];//如果遇见指数相同的系数相加 }int flag1 = 0; int count = 0;if(M == 0 && N == 0){cout << "0 0";}else{for(t = m2.begin(); t != m2.end(); t++){if(flag1 == 0 && t->second != 0)cout << t->second << ' ' <<  t->first;else if(t->second != 0){cout << ' ' << t->second << ' ' << t->first; }	flag1 = 1;if(t->second == 0){count++;}} 	}if(count == m2.size()){//测试点三cout << "0 0";}} //测试用例子 2(测试点2) 
//2 1 2 1 0
//2 1 2 -1 0//测试点3用例子 
// 2 -1000 1000 1000 0	
// 2 1000 1000 -1000 0//测试点4的例子
// 0
// 0 1 2 3

在这里插入图片描述

五:知识速递(如果对于map的用法不了解的兄弟们,可以学一下啊)

map的基本用法

最后加油Boy!!! 刷题源于热爱 , 顺便服务与以后的工作,学到老,刷到老!!!!!!!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/308312.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言中注释部分二侧分界符为,C语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案一、选择题1.下述标识符中&#xff0c;()是合法的用户标识符。A.A#CB.getchC.voidD.ab*2.在C语言中&#xff0c;字符型数据在内存中是以()形式存放的。A.原码B.BCD码C.反码D.ASCII码3.以下选项中不合法的用户标识符是()。A.abc.cB.fileC.MainD.PRONTF…

c语言的程序灵魂是什么,C语言 第二章 程序的灵魂--算法

《C语言 第二章 程序的灵魂--算法》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《C语言 第二章 程序的灵魂--算法(39页珍藏版)》请在人人文库网上搜索。1、第二章 程序的灵魂-算法,什么是程序? 计算机是机器-在求解某一问题时-需要有相应程序-程序是用计算机能够识…

Azure认知服务之表单识别器

认知服务Azure 认知服务的目标是帮助开发人员创建可以看、听、说、理解甚至开始推理的应用程序。Azure 认知服务中的服务目录可分为五大主要支柱类别&#xff1a;视觉、语音、语言、Web 搜索和决策。开发人员使用 Azure 认知服务能够轻松地将认知功能添加到其应用程序中。Azure…

c语言蓝桥杯矩阵乘法,蓝桥杯 基础练习 矩阵乘法

友情提示&#xff1a;此篇文章大约需要阅读 2分钟37秒&#xff0c;不足之处请多指教&#xff0c;感谢您的阅读。问题描述给定一个N阶矩阵A&#xff0c;输出A的M次幂(M是非负整数)例如&#xff1a;A 1 23 4A的2次幂7 1015 22输入格式第一行是一个正整数N、M(1<N<30, 0<…

配置文件中的数据库连接串加密了,你以为我就挖不出来吗?

一&#xff1a;背景1. 讲故事前几天在调试物联柜终端上的一个bug时发现 app.config 中的数据库连接串是加密的&#xff0c;因为调试中要切换数据库&#xff0c;我需要将密文放到专门的小工具上解密&#xff0c;改完连接串上的数据库名&#xff0c;还得再加密贴到 app.config 中…

c语言逻辑运算符编程,C语言之逻辑运算符详解

一 逻辑运算符&#xff1a;&&&#xff1a;逻辑与&#xff0c;读作并且表达式左右两边都为真&#xff0c;那么结果才为真口诀&#xff1a;一假则假||&#xff1a;逻辑或&#xff0c;读作或者表达式左右两边&#xff0c;有一个为真&#xff0c;那么结果就为真口诀&#x…

c语言函数指针数组用法,C语言 函数指针 函数指针数组的用法

前述&#xff1a;C语言的奥秘&#xff0c;博大精深&#xff0c;今天来回忆的分析函数指针&#xff0c;函数指针数组的用法。具体请见下面一个注册程序的实现。1 #include 2 #include 356 typedef void (*poniter_fun)(int); //定义一个函数指针78 typedef struct poniter_desc …

Dotnet Core Public API的安全实践

公开API的安全&#xff0c;其实更重要。一、API的安全作为一个Dotnet Core的老司机&#xff0c;写API时&#xff0c;能兼顾到API的安全&#xff0c;这是一种优雅。通常&#xff0c;我们会用认证来保证API的安全&#xff0c;无敌的Authorize能解决我们很多的问题。但是&#xff…

奇偶校验c语言ascii,奇偶校验(parity check)

parity check 奇偶校验[N] a check made of computer data to ensure that the total number of bits of value 1 (or 0) in each unit of information remains odd or even after transfer between a peripheral device and the memory or vice versa这个比较底层&#xff0c;…

基于.NetCore3.1系列 —— 日志记录之自定义日志组件

前言回顾&#xff1a;日志记录之日志核心要素揭秘在上一篇中&#xff0c;我们通过学习了解在.net core 中内置的日志记录中的几大核心要素&#xff0c;在日志工厂记录器(ILoggerFactory)中实现将日志记录提供器(ILoggerProvider)对象都可以集成到Logger对象组合中&#xff0c;这…

c语言glut打正方形,OpenGL绘制正方形并用键盘移动

准备工作&#xff1a;在OpenGL中&#xff0c;基本图形元素如点、线、折线和多边形都是由一个或多个顶点所定义。OpenGL的7种基本图元&#xff1a;WeChat77732bbab74bef94d9f34e151bce8b6e.pngWeChat26002917d9408c5eef2f9637246fd9a6.pngOpenGL绘制正方形与OpenGL绘制三角形类似…

.NET或.NET Core Web APi基于tus协议实现断点续传

【导读】前两天我采用技巧式方案基本实现大文件分片上传&#xff0c;这里只是重点在于个人思路和亲身实践&#xff0c;若在实际生产环境要求比较高的话肯定不行&#xff0c;仍存在一些问题需要深入处理&#xff0c;本文继续在之前基础上给出基于tus协议的轮子方案&#xff0c;本…

c语言 get网页,get c语言获取网页信息 - 下载 - 搜珍网

get.clinux_boa_cgic/linuxboacgic/boa移植/cgic详解.doclinux_boa_cgic/linuxboacgic/boa移植/etc/boa/boa.conflinux_boa_cgic/linuxboacgic/boa移植/etc/grouplinux_boa_cgic/linuxboacgic/boa移植/etc/passwdlinux_boa_cgic/linuxboacgic/boa移植/嵌入式boa服务器笔记.docl…

省钱攻略送上!戴尔官网OptiPlex商用台式机到手仅需2279元!速速抢购!

如何用最少的钱磕到性价比超优的设备&#xff1f;两三千元左右的价格能买到狠货吗&#xff1f;来戴尔小企业官网&#xff0c;助力业务在线&#xff0c;Slay全场&#xff01;粉丝额外宠粉福利1.关注公众号 2.通过戴尔官网客服采购电脑产品3.发送订单截图至公众号后台就会有机会…

c语言关闭控制台窗口,怎样可以屏蔽控制台程序的关闭按钮

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼//以前发过&#xff0c;再贴一次//-----------------------------------------------------#include "windows.h"#pragma comment(lib,"user32.lib")LPCRITICAL_SECTION lpDllLockNULL;#define CODE_MOV_LEN 5…

如何面对人生危机?

点击蓝字关注&#xff0c;回复“职场进阶”获取职场进阶精品资料一份一名读者提问&#xff1a;洋哥&#xff0c;我7年前从大厂出来&#xff0c;创业多年。连续失败&#xff0c;没买车也没房&#xff0c;女朋友也和我分手了&#xff0c;父母也对我失望至极。最近我开始焦虑、失眠…

考研961数据结构c语言版真题,严蔚敏数据结构C语言版考研真题库

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼严蔚敏《数据结构》(C语言版)配套题库【考研真题精选(部分视频讲解)&#xff0b;章节题库】下载来源&#xff1a;http://fangcai.100xuexi.com/Ebook/993213.html第一部分 考研真题精选(部分视频讲解)一、单项选择题1若元素a&…

不用虚机不用Docker使用Azure应用服务部署ASP.NET Core程序

一般我们写好了应用程序想要部署发布它&#xff0c;要么发布到物理机&#xff0c;要么发布到虚拟机&#xff0c;要么发布到容器来运行它。现在有了Azure应用服务&#xff0c;我们可以完全不用管这些东西&#xff0c;只管写好自己的代码&#xff0c;然后使用VisualStudio的发布功…

DEV-C上的报错 Process exited after 4.03 seconds with return value 3221225725

一&#xff1a;问题描述 还未进行任何输入&#xff0c;就直接输出 Process exited after 4.03 seconds with return value 3221225725 二&#xff1a;问题解决 问题代码&#xff1a; #include <iostream> using namespace std;int main(){int m[1000][1000];int N;ci…

数码管显示1到8c语言,单片机控制八只数码管滚动显示1~8 附PROTEUS软件仿真图

数码管显示是每一个单片机初学者都必须学的&#xff0c;而单片机驱动数码管的数字循环显示实验&#xff0c;又是单片机基础中的基础&#xff0c;同时也是学好C语言编程的关键&#xff0c;此实验在硬件上可以弄清楚单片机驱动原理和数码管的显示原理&#xff0c;在软件上可以帮助…