一个多项式可以表达为x的各次幂与系数乘积的和,比如: 2x6+3x5+12x3+6x+20 现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出。 程序要处理的幂最大为100。 用Java写出
时间: 2023-06-07 19:09:04 浏览: 31
以下是Java代码:
import java.util.Scanner;
public class Polynomial {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] poly1 = new int[101];
int[] poly2 = new int[101];
int index;
String[] terms1, terms2;
// 读入第一个多项式
String str = scanner.nextLine();
terms1 = str.split(" ");
for (int i = 0; i < terms1.length; i++) {
index = terms1[i].indexOf("x");
if (index == -1) {
poly1[0] = Integer.parseInt(terms1[i]);
} else {
int coef = Integer.parseInt(terms1[i].substring(0, index));
index = Integer.parseInt(terms1[i].substring(index + 1));
poly1[index] = coef;
}
}
// 读入第二个多项式
str = scanner.nextLine();
terms2 = str.split(" ");
for (int i = 0; i < terms2.length; i++) {
index = terms2[i].indexOf("x");
if (index == -1) {
poly2[0] = Integer.parseInt(terms2[i]);
} else {
int coef = Integer.parseInt(terms2[i].substring(0, index));
index = Integer.parseInt(terms2[i].substring(index + 1));
poly2[index] = coef;
}
}
// 计算和并输出
for (int i = 100; i >= 0; i--) {
int coef = poly1[i] + poly2[i];
if (coef != 0) {
if (i == 0) {
System.out.print(coef);
} else if (i == 1) {
System.out.print(coef + "x ");
} else {
System.out.print(coef + "x" + i + " ");
}
}
}
scanner.close();
}
}