刷清橙OJ--A1070.多项式求导

来源:互联网 发布:nginx 指定配置文件 编辑:程序博客网 时间:2024/06/06 12:46
问题:
A1070. 多项式求导
时间限制:1.0s   内存限制:512.0MB  
总提交次数:4228   AC次数:784   平均分:56.66
问题描述
  给出一个多项式,求出它的k阶导数。
输入格式
  第一行为一个整数k,表示要求多项式的k阶导数。
  第二行为一个整数n,表示要求导的多项式含有n项。
  接下来输入多项式的各个非零项,每一项占一行,含两个整数a、b,表示多项式含有a*x^b这一项,其中b>=0,a不为0。
  n,k<=100,结果中的所有系数不会超过int范围。
输出格式
  按照书写习惯输出多项式,具体格式请严格参照样例。
样例输入
1
4
-3 4
4 2
-2 1
7 0
样例输出
f'(x)=-12*x^3+8*x-2
样例输入
3
3
1 10
2 50
-3 30
样例输出
f'''(x)=720*x^7+235200*x^47-73080*x^27
代码:

 #include <cstdio> using namespace std;int main(){    int k,n,a,b,i,j;    bool ok=false;    scanf("%d%d",&k,&n);     printf("f");    for(i=0;i<k;i++)printf("'");    printf("(x)=");     for(i=0;i<n;i++){        scanf("%d%d",&a,&b);        for(j=0;j<k;j++){            a*=b;            b--;        }         if(a!=0){            if(i!=0&&a>0)printf("+");            if(a==-1)printf("-");            else if(a!=1)printf("%d",a);            ok=true;        }         if(a!=0&&b>0){            if(b==1)printf("*x");            else printf("*x^%d",b);            ok=true;        }    }     if(!ok)printf("0");    return 0; }
个人想法:代码来自试题讨论