OpenJudge - 39:多项式输出

news2024/11/23 15:26:45

目录

一、题目描述

二、代码实现



一、题目描述

一元 n 次多项式可用如下的表达式表示:

f(x) = a_nx^n + a_{n-1}x^{n-1} + ... + a_1x^1 + a_0, a_n \ne 0

其中,​ a_ix^i 称为 i 次项,​ a_i 称为 i 次项的系数。给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式:

  1. 多项式中自变量为 x,从左到右按照次数递减顺序给出多项式。

  2. 多项式中只包含系数不为 0 的项。

  3. 如果多项式 n 次项系数为正,则多项式开头不出现 “+“ 号,如果多项式 n 次项系数为负,则多项式以 “-” 号开头。

  4. 对于不是最高次的项,以 “+” 号或者 “-” 号连接此项与前一项,分别表示此项系数为正或者系数为负。紧跟一个正整数,表示此项系数的绝对值(如果一个高于 0 次的项,其系数的绝对值为 1,则无需输出 1)。如果 x 的指数大于 1,则接下来紧跟的指数部分的形式为 “x^b”,其中 b 为 x 的指数;如果 x 的指数为 1,则接下来紧跟的指数部分形式为 “x”; 如果 x 的指数为 0,则仅需输出系数即可。

  5. 多项式中,多项式的开头、结尾不含多余的空格。

输入:

共有 2 行: 第一行 1 个整数 n,表示一元多项式的次数。 第二行有 n+1 个整数,其中第 i 个整数表示第 n-i+1 次项的系数,每两个整数之间用空格隔开。

1 ≤ n ≤ 100,多项式各次项系数的绝对值均不超过 100。

输出:

共 1 行,按题目所述格式输出多项式。

样例输入:

样例 #1:

5

100 -1 1 -3 0 10 ​

样例 #2:

3

-50 0 0 1

样例输出

样例 #1:

100x^5-x^4+x^3-3x^2+10 ​

样例 #2:

-50x^3+1

二、代码实现

#include <stdio.h>
#include <math.h>

int main()
{
	int n = 0;
	scanf("%d", &n);
	int flag = 1;  // 标识是否输出了多项式的第一项,即最左边的那一项
	for (int i = 1; i <= n + 1; ++i)
	{
		int exp = n - i + 1;  // 指数: [n, 0]
		int coef = 0;  // 系数
		// 多项式中只包含系数不为 0 的项
		scanf("%d", &coef);
		if (coef == 0)
			continue;
		
		// 输出正负号
		if (flag)
		{
			if (coef < 0)
				printf("%c", '-');
			flag = 0;
		}
		else
		{
			if (coef < 0)
				printf("%c", '-');
			else
				printf("%c", '+');
		}

		// 输出系数的绝对值
		if (exp > 0 && abs(coef) != 1)
			printf("%d", abs(coef));
		else if (exp == 0)
			printf("%d", abs(coef));

		// 输出自变量 x
		if (exp > 0)
			printf("%c", 'x');

		// 输出 ^exp
		if (exp > 1)
			printf("%c%d", '^', exp);
	}
	printf("\n");
	return 0;
}
  1. exponent n. 指数;coefficient n. 系数

  2. flag 用来标识是否输出了多项式的第一项。注意:输出的第一项并不一定是 n 次项,这也是为什么不用 exp == n 作为判断条件的原因。

    样例输入:

    5
    0 1 1 -3 0 10

    样例输出:

    x^4+x^3-3x^2+10
    // 而非 +x^4+x^3-3x^2+10

    不过这道题的前提就是输出一元 n 次多项式,即 ​a_n \ne 0,所以实际上不需要考虑上述情况。

创作不易,可以点点赞,如果能关注一下博主就更好了~  

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

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

相关文章

如何在本地搭建Maven环境并整合进IDEA中?【2023最新版】

编译软件&#xff1a;IntelliJ IDEA 2019.2.4 x64 操作系统&#xff1a;win10 x64 位 家庭版 Maven版本&#xff1a;apache-maven-3.6.3 目录 一. 为什么要使用Maven&#xff1f;1.1 获取jar包1.2 添加jar包1.3 使用Maven便于解决jar包冲突及依赖问题 二. 什么是Maven?三. 如何…

排序算法 - 选择排序(Selection sort)

文章目录 选择排序介绍选择排序实现选择排序的时间复杂度和稳定性选择排序时间复杂度选择排序稳定性 代码实现核心&总结 每日一道算法&#xff0c;提高脑力。第四天&#xff0c;选择排序。 选择排序介绍 它的基本思想是: 首先在未排序的数列中找到最小(or最大)元素&#…

Three.js--》理解光源对物体产生影响的重要性

上篇文章 前端开发者掌握3d技术不再是梦&#xff0c;初识threejs 作为three.js入门篇讲解了许多内容但是没有深入了解其原理以及实现方法&#xff0c;仅仅只是展示了实现的内容及代码&#xff0c;本篇文章将深入讲解实现效果其背后用到的知识与原理。 目录 使用相机控件轨道控…

博途PID编程应用(状态机)

博途工艺PID的详细解读可以查看下面的博客文章,这里不再赘述 博途PLC 1200/1500PLC 工艺对象PID PID_Compact详细解读_RXXW_Dor的博客-CSDN博客这篇博文我们详细解读博途PLC自带的PID功能块PID_Compact,大部分工业闭环调节过程,我们采用系统自带的PID功能块基本都能胜任,一…

接收来自客户端的参数使用【JSR303校验框架】进行校验参数是否合法

目录 1&#xff1a;JSR303校验 1.1&#xff1a;统一校验的需求 1.2&#xff1a;统一校验实现 1.3&#xff1a;分组校验 1.4&#xff1a;校验规则不满足&#xff1f; 1&#xff1a;JSR303校验 1.1&#xff1a;统一校验的需求 前端请求后端接口传输参数&#xff0c;是在co…

CTFShow-Web篇详细wp(持续更新中ing)

CTFShow-Web篇详细wp web签到题web2web3web4web5web6web7web8 CTFShow 平台&#xff1a;https://ctf.show/ web签到题 直接F12然后Base64解码 ctfshow{19bdf375-f974-481e-8c62-0f4c3d170fb4} web2 考点&#xff1a;联合查询 先尝试使用万能密码登入 ‘ or 11# 登入成功&am…

搭建家庭影音媒体中心 --公网远程连接Jellyfin流媒体服务器

文章目录 前言1. 安装Home Assistant2. 配置Home Assistant3. 安装cpolar内网穿透3.1 windows系统3.2 Linux系统3.3 macOS系统 4. 映射Home Assistant端口5. 公网访问Home Assistant6. 固定公网地址6.1 保留一个固定二级子域名6.2 配置固定二级子域名 转载自远程穿透的文章&…

dig命令理解DNS域名解析中的A记录,AAAA记录,CNAME记录,MX记录,NS记录,/etc/hosts本地域名IP映射

参考博文&#xff1a;https://blog.csdn.net/zxl1990_ok/article/details/125432123 目录 参考资料DNS简介/etc/hosts本地域名IP映射查询过程举例直接显示DNS寻址结果向特定DNS服务器寻址查询A记录查询AAAA记录CNAME记录MX记录NS记录PTR记录SOA记录查看DNS服务器的主从关系 参考…

外网SSH远程连接linux服务器,看这一篇就够了

文章目录 视频教程1. Linux CentOS安装cpolar2. 创建TCP隧道3. 随机地址公网远程连接4. 固定TCP地址5. 使用固定公网TCP地址SSH远程 转载自内网穿透工具的文章&#xff1a;无公网IP&#xff0c;SSH远程连接Linux CentOS服务器【内网穿透】 本次教程我们来实现如何在外公网环境下…

【SWAT水文模型】SWAT水文模型建立及应用第二期:土地利用数据的准备

SWAT水文模型建立及应用&#xff1a;土地利用数据的准备 1 简介2 土地利用数据的下载2.1 数据下载方式2.1.1 中科院1km土地利用数据2.1.2 清华大学高精度土地利用数据 2.2 数据下载 3 土地利用数据的准备3.1 矢量转栅格3.2 土地利用类型的重分类3.3 土地利用分布图投影调整3.4 …

数据库系统-并发控制

文章目录 一、为什么要并发控制1.2 并发控制解决的问题1.2.1 脏读1.2.2 幻读1.2.3 不可重复读1.2.4 数据丢失问题 二、事务调度及可串行性2.1 事务2.1.1 事务的宏观2.1.2 事务的微观2.1.3 事务的特性 ACID 2.2 事务调度与可串行性2.3 冲突可串行化判定 三、基于封锁的并发控制方…

DNS基础:通过dig命令理解DNS域名解析中的A记录,AAAA记录,CNAME记录,MX记录,NS记录,/etc/hosts本地域名IP映射

参考博文&#xff1a;https://blog.csdn.net/zxl1990_ok/article/details/125432123 目录 参考资料DNS简介/etc/hosts本地域名IP映射查询过程举例直接显示DNS寻址结果向特定DNS服务器寻址查询A记录查询AAAA记录CNAME记录MX记录NS记录PTR记录SOA记录查看DNS服务器的主从关系 参考…

博途PID1200/1500PLC编程应用(SCL状态机编程)

博途工艺PID的详细解读可以查看下面的博客文章,这里不再赘述 博途PLC 1200/1500PLC 工艺对象PID PID_Compact详细解读_RXXW_Dor的博客-CSDN博客这篇博文我们详细解读博途PLC自带的PID功能块PID_Compact,大部分工业闭环调节过程,我们采用系统自带的PID功能块基本都能胜任,一…

【Linux】第八讲:Linux进程信号详解(一)_ 认识信号 | 产生信号

「前言」文章是关于Linux进程信号方面的知识&#xff0c;本文的内容是Linux进程信号第一讲&#xff0c;讲解会比较细&#xff0c;下面开始&#xff01; 「归属专栏」Linux系统编程 「笔者」枫叶先生(fy) 「座右铭」前行路上修真我 「枫叶先生有点文青病」 「每篇一句」 人生天…

【Ambari】开启HDFS 的HA架构

之前搭建的Ambari可以查看之前的博客 接下来我们来看下HDFS 开启HA 开启HDFS 的HA架构 选择启动NN的HA 因为之前是3节点的所以一开始安装的时候 Ambari架构选择了让安装一个NameNode和一个SecendryNameNode。 点击启动NameNode HA 后跳出个界面 填写集群名 类似于之前第…

六大排序算法:插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序

文章目录&#xff1a; 1. 插入排序2.希尔排序3.选择排序4.冒泡排序5.堆排序6.快速排序5.1 hoare版本(左右指针法)5.2 挖坑法5.2.1 递归5.2.2 非递归 5.3 前后指针法 1. 插入排序 步骤&#xff1a; 1.从第一个元素开始&#xff0c;该元素可以认为已经被排序 2.取下一个元素tem…

【社区图书馆】Spring Boot 3核心技术与最佳实践

文章目录 前言什么是Spring BootSpring Boot特性Spring Boot优缺点Spring Boot核心功能 记录和随想 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 什么是Spring Boot 使用Sprin…

Java基础(二十):泛型

Java基础系列文章 Java基础(一)&#xff1a;语言概述 Java基础(二)&#xff1a;原码、反码、补码及进制之间的运算 Java基础(三)&#xff1a;数据类型与进制 Java基础(四)&#xff1a;逻辑运算符和位运算符 Java基础(五)&#xff1a;流程控制语句 Java基础(六)&#xff1…

【SWAT水文模型】SWAT水文模型建立及应用第四期: 气象数据的准备(待更新)

SWAT水文模型建立及应用&#xff1a; 气象数据的准备 1 简介2 气象数据的准备&#xff08;传统气象站&#xff09;2.1 天气发生器各参数的计算2.2 降水及气温输入数据的准备 3 气象数据的准备&#xff08;中国区域高精度同化气象站CMADS&#xff09;参考 本博客主要介绍气象数据…

Git命令与在IDEA中配置Git

目录 Git常用命令 全局设置 1.设置用户信息 2.查看配置信息 3.获取Git仓库 工作区, 暂存区, 版本库的概念 本地仓库操作 远程仓库操作 分支操作 标签操作 IDEA配置Git 本地仓库操作 远程仓库操作 分支操作 Git常用命令 全局设置 1.设置用户信息 git config --g…