PAT乙级 1010 一元多项式求导 (JAVA)

1010 一元多项式求导 (25 分)

设计函数求一元多项式的导数。(注:x​n(n为整数)的一阶导数为nx​n−1​​ 。)

输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。

输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。

输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0



import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		String[] in = null;
		int input[] = new int[100];
		int output[] = new int[100];
		int index = 0;
		int num;
		in =scan.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");
			}

		}

	}
}

猜你喜欢

转载自blog.csdn.net/qq_42378770/article/details/87976205