中国MOOC_零基础学Java语言_第5周 数组_1多项式加法
第5周编程题
第5周编程题
依照学术诚信条款,我保证此作业是本人独立完成的。
温馨提示:
1.本次作业属于Online Judge题目,提交后由系统即时判分。
2.学生可以在作业截止时间之前不限次数提交答案,系统将取其中的最高分作为最终成绩。
题目内容:
一个多项式可以表达为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) {
int a[] = new int[101];
int b[] = new int[101];
int c[] = new int[101];
Scanner sc = new Scanner(System.in);
int m = 0;// 每行输入两个数字,第一个表示幂次
int n = 0;// 第二个表示该幂次的系数
int count = 0;// 统计输出的个数
do {
m = sc.nextInt();
n = sc.nextInt();
a[m] = n;
} while (m != 0);// 输入a表
do {
m = sc.nextInt();
n = sc.nextInt();
b[m] = n;
} while (m != 0);// 输入b表
for (int i = 0; i < 101; i++) {// 统计c表
c[i] = a[i] + b[i];
}
for (int i = 100; i > 1; i--) {// 100次幂到2次幂
if (c[i] != 0)// 只统计c表系数不为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++;
}
}
if (c[1] != 0) {// 1次幂
if (count > 0) {
if (c[1] > 0) {
System.out.print("+");
}
}
if (c[1] != 1 && c[1] != -1) {// 系数不为1且不为-1
System.out.print(c[1] + "x");
} else if (c[1] == 1) {// 系数为1
System.out.print("x");
} else {// 系数为-1
System.out.print("-x");
}
count++;
}
if (c[0] != 0) {// 0次幂
if (count > 0) {
if (c[0] > 0) {
System.out.print("+");
}
}
System.out.print(c[0]);
count++;
}
if (count == 0) {
System.out.print("0");
}
}
}
中国MOOC_零基础学Java语言_第5周 数组_1多项式加法的更多相关文章
- 中国MOOC_零基础学Java语言_第6周 使用对象_1单词长度
第6周编程题 查看帮助 返回 第6周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ...
- 中国MOOC_零基础学Java语言_第7周 函数_1分解质因数
第7周编程题 查看帮助 返回 第7周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ...
- 中国MOOC_零基础学Java语言_第4周 循环控制_1素数和
第4周编程题 查看帮助 返回 第4周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ...
- 中国MOOC_零基础学Java语言_第3周 循环_1奇偶个数
第3周编程题 查看帮助 返回 第3周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ...
- 中国MOOC_零基础学Java语言_第2周 判断_1时间换算
第2周编程题 查看帮助 返回 第2周编程题 依照学术诚信条款,我保证此作业是本人独立完成的. 温馨提示: 1.本次作业属于Online Judge题目,提交后由系统即时判分. 2.学生可以在作业截 ...
- 中国MOOC_零基础学Java语言_第5周 数组
第5周 数组 5.1 数组 5.2 数组计算 public class Main { public static void main(String[] args) { for (int i = 1; ...
- 中国MOOC_零基础学Java语言_第7周 函数_2完数
2 完数(5分) 题目内容: 一个正整数的因子是所有可以整除它的正整数.而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数.例如6=1+2+3(6的因子是1,2,3). 现在,你要写一个程序, ...
- 中国MOOC_零基础学Java语言_第6周 使用对象_2GPS数据处理
2 GPS数据处理(5分) 题目内容: NMEA-0183协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The N ...
- 中国MOOC_零基础学Java语言_第4周 循环控制_2念整数
2 念整数(5分) 题目内容: 你的程序要读入一个整数,范围是[-100000,100000].然后,用汉语拼音将这个整数的每一位输出出来. 如输入1234,则输出: yi er san si 注意, ...
随机推荐
- Nginx优化_访问并发量(进程可以打开的最大文件数量)
如果客户端访问服务器提示“Too many open files”如何解决? [root@proxy ~]# ab -n 2000 -c 2000 http://192.168.1.100/ # ...
- 第02课:启动GDB调试
使用GDB调试程序一般有三种方式: gdb filename gdb attach pid dgb filename corename 也对应这本节课的核心内容: 直接调试目标程序 附加进程 调试co ...
- Mysql定时器定时删除表数据
由于测试环境有张日志表没定时2分钟程序就狂插数据,导致不到1一个月时间,这张日志表就占用了6.7G的空间,但是日志刷新较快,有些日志就没什么作用,就写了个定时器,定期删除这张表的数据 首先先查看mys ...
- [LOJ 6704] 健身计划
问题描述 九条可怜是一个肥胖的女孩. 她最近长胖了,她想要通过健身达到减肥的目的,于是她决定每天做n次仰卧起坐以达到健身的目的. 她可以将这n次动作分为若干组完成,每一次完成ai次仰卧起坐,每做完一次 ...
- POJ 1182 食物链 (带权并查集 && 向量偏移)
题意 : 中文题就不说题意了…… 分析 : 通过普通并查集的整理归类, 能够单纯地知道某些元素是否在同一个集合内.但是题目不仅只有种类之分, 还有种类之间的关系, 即同类以及吃与被吃, 而且重点是题目 ...
- codevs 5971 打击犯罪 x
题目描述 Description 某个地区有n(n<=1000)个犯罪团伙,当地警方按照他们的危险程度由高到低给他们编号为1-n,他们有些团伙之间有直接 ...
- 源码阅读-SwiftyJSON
最后更新:2018-03-19 一.说在前面的话: SwiftyJSON 作为一个 swift 的解析库, 在 Swift4 之前备受欢迎, 目前(2018.3.19) 已经有 1.6w+ Star ...
- 记一次CTF实验吧的代码审计
0X01 0X01 Burp抓包找到hint 访问地址看源码 <?php $info = ""; $req = []; $flag="xxxxxxxxxx" ...
- 6.并发编程--volatile
并发编程--volatile volatile-说明 volatile关键字的作用是变量在多个线程可见: volatile 关键字是非原子性的 要是实现原子性操作,建议使用atomic类的系列对象:支 ...
- 从头开始学习Vuex
一.前言 当我们的应用遇到多个组件共享状态时,会需要多个组件依赖于同一状态抑或是来自不同视图的行为需要变更同一状态.以前的解决办法: a.将数据以及操作数据的行为都定义在父组件; b.将数据以及操作数 ...