天天看點

(PAT乙級)1010 一進制多項式求導 (25)

設計函數求一進制多項式的導數。(注:x^n^(n為整數)的一階導數為n*x^n-1^。)

輸入格式:以指數遞降方式輸入多項式非零項系數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。

輸出格式:以與輸入相同的格式輸出導數多項式非零項的系數和指數。數字間以空格分隔,但結尾不能有多餘空格。注意“零多項式”的指數和系數都是0,但是表示為“0 0”。

輸入樣例

3 4 -5 2 6 1 -2 0
           

輸出樣例: 

12 3 -10 1 6 0
           
import java.util.Scanner;
import java.util.ArrayList;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner scan = new Scanner(System.in);
		String[] strarr = scan.nextLine().split("\\s+");
		Integer[] numarr = new Integer[strarr.length];
		for(int i = 0; i < numarr.length; i++) {
			numarr[i] = Integer.parseInt(strarr[i]);
		}
		String result = "";
		ArrayList<Integer> newnumarr = new ArrayList<Integer>();
		for(int i = 0; i < numarr.length - 1; i = i + 2) {
			if(numarr[i + 1] == 0) continue;
			newnumarr.add(numarr[i] * numarr[i + 1]);
			newnumarr.add(numarr[i + 1] - 1);
		}
		for(int i = 0; i < newnumarr.size() - 1; i++) {
			result += Integer.toString(newnumarr.get(i)) + " ";
		}
		if(newnumarr.size() == 0) result = "0 0";
		else result += Integer.toString(newnumarr.get(newnumarr.size() - 1));
		System.out.println(result);
	}
}