1010 一元多项式求导 (25 分)
设计函数求一元多项式的导数。
(注:x^n(n为整数)的一阶导数为nx^(n−1) 。)
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。
import java.util.*;
class Main{
public static void main(String[] args){
String m = qiudao();
System.out.println(m);
}
public static String qiudao(){
Scanner in = new Scanner(System.in);
String m = in.nextLine();
String[] split = m.split(" ");
int[] a = new int[split.length];
int[] c = new int[split.length];
for(int i = 0;i< split.length;i++){
a[i] = Integer.parseInt(split[i]);
}
for(int i = 0;i<a.length;i+=2){
c[i] = a[i]*a[i+1];
c[i+1] = a[i+1]-1;
}
String t = "";
int count = split.length/2;
boolean[] b = new boolean[a.length];
for(int i = 0;i<a.length;i+=2){
if(c[i]==0){
if(a[i]!=0){
b[i]=true;
count--;
}
}
}
for(int i = 0;i<c.length;i+=2){
if(b[i]){
continue;
}else{
t = t +c[i]+" "+c[i+1];
count--;
if(count!=0){
t = t+" ";
}
}
}
return t;
}
}