输入格式
输入共有 2 行
第一行 1 个整数,n,表示一元多项式的次数。
第二行有 n+1 个整数,其中第 i 个整数表示第 n−i+1 次项的系数,每两个整数之间用空格隔开。
输出格式
输出共 1 行,按题目所述格式输出多项式。
代码
import java.util.Scanner;public class Polynomial {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt();int[] a = new int[n + 1];// 读取输入for (int i = 0; i <= n; i++) {a[i] = scanner.nextInt();}// 处理最高次项 (x^n 到 x^2)for (int i = 0; i < n - 1; i++) {if (a[i] > 0 && i != 0)System.out.print("+");if (a[i] != 0 && a[i] != 1 && a[i] != -1) {System.out.print(a[i] + "x^" + (n - i));}if (a[i] == 1) {System.out.print("x^" + (n - i));}if (a[i] == -1) {System.out.print("-x^" + (n - i));}}// 处理 x^1 的项for (int i = n - 1; i < n; i++) {if (a[i] > 0 && i != 0)System.out.print("+");if (a[i] != 0 && a[i] != 1 && a[i] != -1) {System.out.print(a[i] + "x");}if (a[i] == 1) {System.out.print("x");}if (a[i] == -1) {System.out.print("-x");}}// 处理常数项if (a[n] > 0) {System.out.print("+" + a[n]);} else if (a[n] != 0) {System.out.print(a[n]);}}
}