B1010 一元多项式求导
题目描述
设计函数求一元多项式的导数。
输入格式
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
输出格式
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为0 0
。
输入样例
3 4 -5 2 6 1 -2 0
输出样例
12 3 -10 1 6 0
解题思路
- 通过
in.hasNext()
循环读取两个整数; - 用一个数组存储系数,数组下标为相应的指数。
参考代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// Create a Scanner object
Scanner input = new Scanner(System.in);
int[] a = new int[1010];
int count = 0;
int k, e;
// 循环读取两个整数
while (input.hasNext()) {
k = input.nextInt();
e = input.nextInt();
if (e != 0) {
a[e - 1] = k * e;
count++;
}
}
// Display result
if (count != 0) {
for (int i = 999; i >= 0; i--) {
if (a[i] != 0) {
System.out.print(a[i] + " " + i);
count--;
if (count != 0) {
System.out.print(" ");
}
}
}
} else {
System.out.print("0 0");
}
}
}