题目描述
一个一元多项式可以看作由若干个一元单项式按降幂排列成的线性表。请编写程序对输入的一元多项式进行求导,并输出求导的结果。
输入
输入为一个一元多项式,按照降幂依次输入每个单项式的系数和指数,并以-1 -1作为结束。系数和指数均为整数,指数不小于0。
输出
输出为求导结果多项式,按照降幂依次输出每个单项的系数和指数,每个数值后面用一个空格隔开,输出结果多项式后换行。 系数为0的单项式不得输出——除非结果多项式就是0,则直接输出0并换行。
样例输入 Copy
2 7 3 5 12 1 6 0 -1 -1
样例输出 Copy
14 6 15 4 12 0
#include"stdio.h"
#include"string.h"
int a[1000000];
int main()
{
int m,n,j,i,max,flag=0;
memset(a,0,sizeof(a));
while(scanf("%d %d",&n,&m))
{
if(m==-1&&n==-1)
break;
if(max<m)
max=m;
a[m]=n;
}
for(i=max;i>=1;i--)
{
if(a[i]!=0)
{
flag=1;
j=i;
printf("%d %d ",a[i]*i,j-1);
}
}
if(flag==0)
printf("0");
return 0;
}
#include"stdio.h"
int s[999999];
int main()
{
int m,i=0,flag=0;
do
{
scanf("%d %d",&s[i],&s[i+1]);
if(s[i+1]==0||s[i+1]==-1);
else
{
printf("%d %d ",s[i]*s[i+1],s[i+1]-1);
flag=1;
}
i=i+2;
}while(s[i-1]!=-1);
if(flag==0)
printf("0");
}