函数的求导问题

计算多项式的导函数是一件非常容易的任务。给定一个函数f(x),我们用f'(x)来表示其导函数。我们用x^n来表示xn次幂。为了计算多项式的导函数,你必须知道三条规则:

(1)(C)' = 0 如果C是常量

(2)(C*x^n)' = C*n*x^(n-1) 如果n >= 1C是常量

(3)(f1(x)+f2(2))' = f1'(x)+f2'(x)

容易证明,多项式的导函数也是多项式。

现在,请你编写一个程序,给定一个不包含负系数且已合并好同幂次项的多项式f(x),计算出它的导函数。

输入
输入有两行。
第一行是一个整数n(0 <= n <= 100)表明多项式的最高次幂为n。
第二行包含n+1个非负整数,C n ,C n-1 ,C n-2 ,C n-3 ,C n-4 ,… ,C 1,C 0(0 <= C i <= 1000)且Cn != 0。Ci是幂次为i的项的系数。
输出
在一行内输出f'(x)的结果。
(1) 如果g(x) = 0那么直接输出0
(2) 如果g(x)形如C m(x^m)+C m-1(x^(m-1))+…+C 0(C m!=0)那么输出C m…C 0
(3) 相邻整数之间有单个空格。
样例输入
3
0
10
2
3 2 1
3
10 0 1 2
样例输出
0
6 2
30 0 1
这题看起来挺复杂,其实也就是for或while循环的综合应用了,我的解题思路是利用数组进行存储用while进行循环控制,最后再把数组里面的内容打印出来,这里面有一个点应该特殊考虑就是当系数为0时不再用数组进行存储直接输出就可以。下面是我的代码已AC,大家如果发现问题欢迎指正交流心得。
  
  
#include<stdio.h> int main() {       int n,m,t,a[100],k,i;       scanf("%d",&n);       i=n;       n++;       while(n--)       {           scanf("%d",&t);           a[n]=t*n;       }            if(i==0)             printf("0");            else            for(k=i;k>0;k--)            printf("%d ",a[k]);            return 0;
        return 0; }
相关文章
相关标签/搜索
每日一句
    每一个你不满意的现在,都有一个你没有努力的曾经。
公众号推荐
   一个历史类的公众号,欢迎关注
一两拨千金