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//部分正确,3分
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main{ public static void main(String[] args) throws IOException { BufferedReader bf=new BufferedReader(new InputStreamReader(System.in)); String str=bf.readLine(); String[] arr_str=str.split(" "); int[] arr1=new int[arr_str.length/2]; int[] arr2=new int[arr_str.length/2]; int[] arr3=new int[arr_str.length/2]; int[] arr4=new int[arr_str.length/2]; for (int i = 0,j=0; i < arr_str.length; i++) { if (i%2==0) { arr1[j]=Integer.parseInt(arr_str[i]); }else { arr2[j]=Integer.parseInt(arr_str[i]); j++; } } for (int i = 0; i < arr3.length; i++) { arr3[i]=arr1[i]*arr2[i]; arr4[i]=arr2[i]-1; } StringBuffer sb=new StringBuffer(); for (int i = 0; i < arr2.length; i++) { if (arr3[i]==0&arr4[i]!=0) { }else { if (arr3[i]==0&&arr4[i]==0) { sb.append("0 0"); } sb.append(arr3[i]+" "); sb.append(arr4[i]+" "); } } String result=sb.substring(0, sb.length()-1); System.out.println(result); } }