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
#include <cstdio>
int main(){
int x,n;
int flag = 1;
while(scanf("%d %d",&x,&n) != EOF){
if(n>0){
if(flag == 1){
printf("%d %d",x*n,n-1);
flag = 0;
}else{
printf(" %d %d",x*n,n-1);
}
}
}
if(flag == 1)
printf("0 0");
return 0;
}
之前的代码,第一空过不了,怎么都不知道哪错了
//#include <cstdio>
//
//int main(){
// int x[1010],n[1010];
// int i=0;
// while(scanf("%d%d",&x[i],&n[i]) != EOF){
// if(n[i]==0) x[i]=0;
// else if(n[i]==n[i-1]&&i!=0){
// x[i] += x[i-1];
// x[i-1] = 0;
// }
// i++;
// }
for(int j=0;j<i-1;j++){
if(n[j]>0){
x[j] = x[j]*n[j];
printf("%d=%d %d ",i,x[j],n[j]);
}
else x[j]=0;
}
//
//
// if(x[0] == 0) printf("0 0");
// else {
// printf("%d %d",x[0]*n[0],n[0]-1);
// for(int j=1;j<i-1;j++){
// // printf("x[%d]=%d,%d ",j,x[j],n[j]);
// if(x[j] != 0){
// printf(" ");
// printf("%d %d",x[j]*n[j],n[j]-1);
// }
// }
// }
// return 0;
//
//}