天天看点

Pat 1010. 一元多项式求导 (25) 1010. 一元多项式求导 (25)

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

时间限制 400 ms

内存限制 65536 kB

代码长度限制 8000 B

判题程序 Standard

设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-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) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		String n = sc.nextLine();
		n.trim();
		int b, c;
		boolean s = true;
		String a[] = n.split("\\s+");// 用一个或多个空格分割
		for (int i = 0; i < a.length; i = i + 2) {
			b = Integer.parseInt(a[i]);
			c = Integer.parseInt(a[i + 1]);
			if (b == 0 || c == 0) {
				continue;
			}
			if (i < a.length - 3) {
				if (Integer.parseInt(a[i + 2]) != 0 && Integer.parseInt(a[i + 3]) != 0) {
					System.out.print(b * c + " ");
					System.out.print(c - 1 + " ");
					s = false;
				} else {
					System.out.print(b * c + " ");
					System.out.print(c - 1);
					s = false;
				}
			} else {
				System.out.print(b * c + " ");
				System.out.print(c - 1);
				s = false;
			}
		}
		if (s == true) {
			System.out.print("0 0");// 零多项式,是个坑
		}
	}

}