PAT 1010 一元多项式求导 (25分)(Java)
题目描述
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
代码
package com.hbut.pat;
import java.util.Scanner;
public class Pat_1010 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] in = null;
int input[] = new int[100];
int output[] = new int[100];
int index = 0;
int num;
in =sc.nextLine().split("\\s+");
num = in.length;
for(int i = 0;i<num;i++) {
input[i] = Integer.parseInt(in[i]);
}
if(num == 2 && input[1]==0) {
System.out.print("0 0");
}
else{
for(int i = 0; i<num-1;i = i+2) {
if(input[i]*input[i+1]==0) {
continue;
}
output[index] = input[i]*input[i+1];
output[index+1] = input[i+1]-1;
index = index+2;
}
if(index !=0) {
for(int i = 0; i < index-1; i++) {
System.out.print(output[i]+" ");
}
System.out.print(output[index-1]);
}
else {
System.out.print("0 0");
}
}
}
}