Java_多项式加法
题目内容:
一个多项式可以表达为x的各次幂与系数乘积的和,比如:
2x6+3x5+12x3+6x+20
现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出。
程序要处理的幂最大为100。
输入格式:
总共要输入两个多项式,每个多项式的输入格式如下:
每行输入两个数字,第一个表示幂次,第二个表示该幂次的系数,所有的系数都是整数。第一行一定是最高幂,最后一行一定是0次幂。
注意第一行和最后一行之间不一定按照幂次降低顺序排列;如果某个幂次的系数为0,就不出现在输入数据中了;0次幂的系数为0时还是会出现在输入数据中。
输出格式:
从最高幂开始依次降到0幂,如:
2x6+3x5+12x3-6x+20
注意其中的x是小写字母x,而且所有的符号之间都没有空格,如果某个幂的系数为0则不需要有那项。
输入样例:
6 2
5 3
3 12
1 6
0 20
6 2
5 3
2 12
1 6
0 20
输出样例:
4x6+6x5+12x3+12x2+12x+40
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
int[] a=new int[101];//存放第一个多项式
int[] b=new int[101];//存放第二个多项式
int[] c=new int[101];//存放合并后的多项式
int count=0;//用来统计输出的项数
int n=0;//n表示幂次
int x=0;//x表示系数
// 得到第一个多项式
do
{
n=in.nextInt();
x=in.nextInt();
a[n]=x;
}while(n!=0);
// 得到第二个多项式
do
{
n=in.nextInt();
x=in.nextInt();
b[n]=x;
}while(n!=0);
// 合并多项式
for(int i=0;i<101;i++)
{
c[i]=a[i]+b[i];
}
// 输出幂次为2到100的项
for(int i=100;i>1;i--)
{
if(c[i]!=0)//如果系数不为零
{
if(count>0)//如果不是输出的第一项
{
if(c[i]>0)//系数大于零要输出+号
{
System.out.print("+");
}
}
if(c[i]!=1&&c[i]!=-1)//如果系数为+-1的话,不能把1输出来,所以要单独处理
{
System.out.print(c[i]+"x"+i);
}else if(c[i]==1)//系数为1时
{
System.out.print("x"+i);
}else//系数为-1时
{
System.out.print("-x"+i);
}
count++;
}
else//系数为零不输出
{
continue;
}
}
// 开始处理幂次为1的项
if(c[1]!=0)
{
if(count>0)//非首项
{
if(c[1]>0)//正项要输出+号
{
System.out.print("+");
}
}
if(c[1]!=1&&c[1]!=-1)//系数为+-1同样要单独处理
{
System.out.print(c[1]+"x");
}
else if(c[1]==1)//系数为1
{
System.out.print("x");
}
else//xi数为-1时
{
System.out.print("-x");
}
count++;
}
// 开始处理幂次为0的项
if(c[0]!=0)
{
if(count>0)//非首项
{
if(c[1]>0)//正项要输出+号
{
System.out.print("+");
}
}
System.out.print(c[0]);
count++;
}
// 如果之前一个项都没有输出
if(count==0)
{
System.out.print("0");
}
}
}
Java_多项式加法的更多相关文章
- 程序设计入门——C语言 第7周编程练习 1多项式加法(5分)
第7周编程练习 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截止时间之前不限次数提交答案,系统 ...
- 网易云课堂_程序设计入门-C语言_第六章:数组_1多项式加法
1 多项式加法(5分) 题目内容: 一个多项式可以表达为x的各次幂与系数乘积的和,比如: 现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出. 程序要处理的 ...
- 中国MOOC_零基础学Java语言_第5周 数组_1多项式加法
第5周编程题 查看帮助 返回 第5周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ...
- 【C语言】多项式加法(mooc第七周测试题)
这个小题目吧我折磨的够呛,,主要在于特殊情况考虑不周,测试用例老是通不过.. 小结: 做法:用一个数组来存储多项式,用下标表示幂次数,数组元素值表示对应系数 输出特殊格式考虑:系数和幂次数为0,1,- ...
- zznu-oj-2134- 发红包!!!-【多项式加法,模拟题目】
2134: 发红包!!! 题目描述 给你两个最简多项式,请输出两个多项式相加后的结果.给定的多项式的格式为ax^num1+bx^num2+...其中x前面的a,b代表系数num代表指数(次方数),输入 ...
- POJ 多项式加法
题解: 采用顺序表.考虑到题目中没有规定指数上界,为避免RE,拟不采用数组.参考了http://blog.csdn.net/inlovecy/article/details/15208473后,最终采 ...
- POJ——多项式的加法
1:多项式加法 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 5000kB 描述 我们经常遇到两多项式相加的情况,在这里,我们就需要用程序来模拟实现把两个多项式相加到一起.首先 ...
- 小白专场-多项式乘法与加法运算-c语言实现
目录 一.题意理解 二.求解思路 三.多项式的表示 3.1 数组 3.2 链表 四.程序框架搭建 五.如何读入多项式 六.如何将两个多项式相加 七.如何将两个多项式相乘 八.如何将多项式输出 一.题意 ...
- 小白专场-多项式乘法与加法运算-python语言实现
目录 题意理解 解题思路 多项式加法 多项式乘法 完整代码 题意理解 题目: 设计函数分别求两个一元多项式的乘积与和. 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一 ...
随机推荐
- Alpha冲刺 (2/10)
Part.1 开篇 队名:彳艮彳亍团队 组长博客:戳我进入 作业博客:班级博客本次作业的链接 Part.2 成员汇报 组员1(组长)柯奇豪 过去两天完成了哪些任务 学习并配置了ssm框架(用于前后端交 ...
- centos下安装nethogs
wget https://github.com/raboof/nethogs/archive/v0.8.1.tar.gzyum install libpcap-develtar zxvf v0.8.1 ...
- boost::bind 实现原理, 手动实现一个
template<typename R, typename T, typename A1> class hangj_call { public: hangj_call(R (T::*f_) ...
- typescript handbook 学习笔记1
概述 这是我学习typescript的笔记.写这个笔记的原因主要有2个,一个是熟悉相关的写法:另一个是理清其中一些晦涩的东西.供以后开发时参考,相信对其他人也有用. 学习typescript建议直接看 ...
- keepalived-1
keepalived所执行的外部脚本命令建议使用绝对路径 vrrp 广播 keepalived的主要功能 1,管理LVS负载均衡软件 2,对LVS集群节点健康检查功能.Healthcheck 3,
- System.InvalidOperationException: 可为空的对象必须具有一个值。
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[0] An unhandled exception has ...
- Swift 里 Dictionary
Dictionary uses two storage schemes: native storage and Cocoa storage. 只看 native storage 的,也就是和 OC 无 ...
- LeetCode--No.007 Reverse Integer
7. Reverse Integer Total Accepted: 153147 Total Submissions: 644103 Difficulty: Easy Reverse digits ...
- Docker部署Vue 工程包
docker部署 Vue 工程包 目录结构 [root@host ~]# tree front/ front/ ├── dist.conf ├── dist.zip ├── Dockerfile └─ ...
- ffmpeg 处理视频项目中用到的一些命令
多媒体视频处理工具FFmpeg有非常强大的功能包括视频采集功能.视频格式转换.视频抓图.给视频加水印等. 目前仅接触到了一些初级命令,今天进行了简单整理. 分辨率 //智能1:1缩放 -i : -vf ...