当前位置: 首页 > news >正文

题解:洛谷 P1067 [NOIP 2009 普及组] 多项式输出

【题目来源】

洛谷:[P1067 NOIP 2009 普及组] 多项式输出 - 洛谷 (luogu.com.cn)

【题目描述】

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

image

其中,\(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\) 行,按题目所述格式输出多项式。

【输入样例】

5 
100 -1 1 -3 0 10

【输出样例】

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

【算法标签】

《洛谷 P1067 多项式输出》 #模拟# #字符串# #数学# #NOIP普及组# #2009#

【代码详解】

#include <bits/stdc++.h>
using namespace std;int main()
{int n, a[105];  // n 表示多项式的最高次幂,a 数组存储多项式的系数cin >> n;  // 输入多项式的最高次幂// 从高次幂到低次幂依次输入系数for (int i = n; i >= 0; i--) cin >> a[i];// 从高次幂到低次幂依次输出多项式for (int i = n; i >= 0; i--) {// 如果当前项的系数为0,跳过不输出if (a[i] == 0) continue;// 如果多项式是常数项(n=0),直接输出常数项并结束循环if (n == 0) {cout << a[i];break;}// 处理常数项(i=0)的情况if (i == 0) {if (a[i] > 0) {cout << "+" << a[i];  // 如果常数项为正,输出带加号的常数项break;} else if (a[i] < 0) {cout << a[i];  // 如果常数项为负,直接输出常数项break;}}// 处理非常数项的情况if (a[i] > 0) {if (i != n) cout << "+";  // 如果不是最高次项,输出加号if (a[i] != 1) cout << a[i];  // 如果系数不为1,输出系数}if (a[i] < 0) {if (a[i] == -1) cout << "-";  // 如果系数为-1,只输出负号else cout << a[i];  // 否则输出系数}// 输出指数项if (i > 1) printf("x^%d", i);  // 如果指数大于1,输出x的指数形式else if (i == 1) cout << "x";  // 如果指数为1,只输出x}return 0;
}

【运行结果】

3
-50 0 0 1
-50x^3+1
http://www.jsqmd.com/news/388973/

相关文章:

  • 基于Vue.js的CTC语音唤醒模型Web前端交互设计
  • Nano-Banana Studio高级教程:使用Docker容器化部署服装AI应用
  • 达摩院春联模型应用:老年大学智能助老春联创作教学工具开发
  • AutoGen Studio生产环境部署:Qwen3-4B-Instruct支撑多并发Agent请求的稳定性验证
  • Qwen3-ForcedAligner低资源优化:在树莓派上的轻量化部署方案
  • 题解:洛谷 P1098 [NOIP 2007 提高组] 字符串的展开
  • Yi-Coder-1.5B部署指南:个人电脑也能运行的AI编程助手
  • PETRV2-BEV开源大模型训练:BEV空间多尺度特征提取效果可视化
  • SeqGPT-560M使用技巧:如何定义最佳提取标签
  • AI历史着色师DDColor体验:让黑白记忆重现鲜活色彩
  • DCT-Net模型与传统图像处理算法的效果对比分析
  • Pi0机器人控制中心虚拟现实:VR远程操作界面开发
  • 多模态AI神器Janus-Pro-7B体验:图片描述+文生图全流程
  • Meixiong Niannian画图引擎部署教程:CentOS 7+NVIDIA 535驱动兼容性实测
  • DamoFD模型体验:高清人脸检测效果展示
  • CLAP开源模型企业应用:电商客服录音情绪触发词识别(‘angry‘、‘frustrated‘、‘satisfied‘)
  • AudioLDM-S极速音效生成:5分钟从零搭建你的第一个音效项目
  • Z-Image Turbo实测:4步生成惊艳动漫头像
  • Stable Diffusion XL 1.0轻量部署:灵感画廊在RTX 3090上的显存占用优化实录
  • 为什么选择bge-m3?多语言Embedding模型优势深度解析
  • RAPIDS GPU 加速 API:重塑数据科学生态,超越 CPU 的思维边界
  • SDXL 1.0电影级绘图工坊:Token机制实现多用户权限管理
  • 零配置体验!Qwen3-ASR-1.7B在线语音识别demo
  • RexUniNLU模型MySQL数据库集成:结构化与非结构化数据联合查询
  • Qwen-Ranker Pro跨平台实践:Ubuntu20.04生产环境部署指南
  • Nanobot开箱体验:基于vLLM的智能对话机器人搭建指南
  • MedGemma 1.5案例分享:如何解决常见医疗疑问
  • Hunyuan-MT-7B多场景落地:教育领域民汉双语翻译解决方案
  • Chandra AI安全防护:对抗攻击检测与防御技术
  • 零基础教程:用vLLM+Chainlit快速调用GLM-4-9B翻译大模型