Java实现 洛谷 多项式输出
题目描述
一元nn次多项式可用如下的表达式表示:

其中,a_ix^ia
i
x
i
称为ii次项,a_ia
i
称为ii次项的系数。给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式:
多项式中自变量为 xx,从左到右按照次数递减顺序给出多项式。
多项式中只包含系数不为00的项。
如果多项式nn次项系数为正,则多项式开头不出现“+”号,如果多项式nn次项系数为负,则多项式以“-”号开头。
对于不是最高次的项,以“+”号或者“-”号连接此项与前一项,分别表示此项系数为正或者系数为负。紧跟一个正整数,表示此项系数的绝对值(如果一个高于00次的项,其系数的绝对值为11,则无需输出 11)。如果xx的指数大于11,则接下来紧跟的指数部分的形式为“x^bx
b
”,其中 b b为 x x的指数;如果 xx的指数为 11,则接下来紧跟的指数部分形式为“xx”;如果 xx 的指数为 00,则仅需输出系数即可。
多项式中,多项式的开头、结尾不含多余的空格。
输入输出格式
输入格式:
输入共有 22 行
第一行 11 个整数,nn,表示一元多项式的次数。
第二行有 n+1 n+1个整数,其中第 i i个整数表示第 n-i+1n−i+1 次项的系数,每两个整数之间用空格隔开。
输出格式:
输出共 11 行,按题目所述格式输出多项式。
输入输出样例
输入样例#1:
5
100 -1 1 -3 0 10
输出样例#1:
100x5-x4+x3-3x2+10
输入样例#2:
3
-50 0 0 1
输出样例#2:
-50x^3+1
import java.util.Scanner;
public class duoxiangshishuchu2 {
private static Scanner cin;
public static void main(String args[]) throws Exception {
cin = new Scanner(System.in);
int x = cin.nextInt();
StringBuilder sb = new StringBuilder("");
int tmp;
for(int i=0;i<=x;i++) {
tmp = cin.nextInt();
if(0 != tmp) {
if(0 == (x-i)){
if(tmp>0) {
sb.append(String.format("+%d", tmp*1));
}else {
sb.append(String.format("%d", tmp*1));
}
}else if(1 == (x-i)){
if(1 == tmp) {
sb.append("+x");
}else if(-1 == tmp) {
sb.append("-x");
} else if(0 <= tmp) {
sb.append(String.format("+%dx", tmp));
}else {
sb.append(String.format("%dx", tmp));
}
}else {
if(1 == tmp) {
sb.append(String.format("+x^%d", x-i));
}else if(-1 == tmp) {
sb.append(String.format("-x^%d", x-i));
} else if(0 <= tmp) {
sb.append(String.format("+%dx^%d", tmp,x-i));
}else {
sb.append(String.format("%dx^%d", tmp,x-i));
}
}
}
}
String prefix = sb.substring(0, 1);
if(prefix.equals("+") ) {
System.out.println(sb.substring(1, sb.length()));
}else {
System.out.println(sb.toString());
}
}
}
Java实现 洛谷 多项式输出的更多相关文章
- Java实现 洛谷 Car的旅行路线
输入输出样例 输入样例#1: 1 3 10 1 3 1 1 1 3 3 1 30 2 5 7 4 5 2 1 8 6 8 8 11 6 3 输出样例#1: 47.5 import java.util. ...
- Java实现 洛谷 P1738 洛谷的文件夹
题目描述 kkksc03是个非凡的空想家!在短时间内他设想了大量网页,然后总是交给可怜的lzn去实现. 洛谷的网页端,有很多文件夹,文件夹还套着文件夹. 例如:/luogu/application/c ...
- Java实现洛谷 P1428 小鱼比可爱
题目描述 人比人,气死人:鱼比鱼,难死鱼.小鱼最近参加了一个"比可爱"比赛,比的是每只鱼的可爱程度.参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只 ...
- Java实现洛谷 P1007独木桥
题目背景 战争已经进入到紧要时间.你是运输小队长,正在率领运输部队向前线运送物资.运输任务像做题一样的无聊.你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们.士兵 ...
- Java实现 洛谷 导弹拦截
题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国的导弹 ...
- Java实现 洛谷 采药
题目描述 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:" ...
- Java实现 洛谷 P1060 开心的金明
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元钱 ...
- Java实现 洛谷 P1064 金明的预算方案
题目描述 金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间.更让他高兴的是,妈妈昨天对他说:"你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元 ...
- (Java实现) 洛谷 P1091合唱队形
题目描述 NN位同学站成一排,音乐老师要请其中的(N−K)位同学出列,使得剩下的KK位同学排成合唱队形. 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2,-,K1,2,-,K,他们的身 ...
随机推荐
- C# 多线程猜想
公司分配给我一个活,让我给Kong网关做一个获取设置的站点.Kong网关号称几万的QPS的神器,我有点慌,如果因为我的站点拖累了Kong我就是千古罪人. 配合Kong的站点必须要经过性能测试,在性能测 ...
- GUI_DOWNLOAD 下载乱码
状况: 开发者打开正常,跨公司或跨企业打开异常. 跨App上传格式异常. 解决上述问题步骤: 1.用浏览器或可改变文件编码格式切换的软件打开文件(其他app上传正常文档格式,或跨公司打开正常文件)查看 ...
- OpenWrt(LEDE)2020.4.12编译 UnPnP+NAS+多拨+网盘+DNS优化+帕斯沃 无缝集成
固件说明 基于Lede OpenWrt R2020.4.8版本(源码截止2020.4.12)Lienol Feed及若干自行维护的软件包 结合家庭x86软路由场景需要定制 按照家庭应用场景对固件及软件 ...
- Day_10【常用API】扩展案例1_利用人出生日期到当前日期所经过的毫秒值计算出这个人活了多少天
分析以下需求,并用代码实现: 1.从键盘录入一个日期字符串,格式为 xxxx-xx-xx,代表该人的出生日期 2.利用人出生日期到当前日期所经过的毫秒值计算出这个人活了多少天 package com. ...
- 【Hadoop离线基础总结】Hadoop的架构模型
Hadoop的架构模型 1.x的版本架构模型介绍 架构图 HDFS分布式文件存储系统(典型的主从架构) NameNode:集群当中的主节点,主要用于维护集群当中的元数据信息,以及接受用户的请求,处理用 ...
- 对文本的内容进行排序(io流、集合操作)
package com.itheima.demo01.BufferedStream; import java.io.*; import java.util.HashMap; /* 练习: 对文本的内容 ...
- 安装laravel环境之homestead(for mac)
1.先下载virtualbox + vagrant 2.执行命令 vagrant box add laravel/homestead 3.新建一个空文件夹,在里面下载代码.我是放在当前用户下的新建的W ...
- supersqli
0x01 堆叠注入 1.定义与说明 在sql中,分号(;)表示一条sql语句的结束.在;结束之后继续构造下一条语句,会一起执行,因此为堆叠注入. union联合查询是将两条语句合并之后进行查询,uni ...
- Java中this()和super()
Java关键字this只能用于方法体中.this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的th ...
- python-修改文件
1.修改文件1 # fw = open('username','w')# fw.write('hhhh')# fw.flush() #强制把缓冲区里面的数据写到磁盘上1.简单粗暴直接# 1.打开一 ...