C语言:计算多项式的导函数

描述

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

(1)、(C)’ = 0 如果C是常量

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

(3)、(f1(x)+f2(2))’ = f1’(x)+f2’(x)

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

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

输入

输入有两行。
第一行是一个整数n(0 <= n <= 100)表明多项式的最高次幂为n。
第二行包含n+1个非负整数,Cn ,Cn-1 ,Cn-2 ,Cn-3 ,Cn-4 ,… ,C1,C0(0 <= Ci <= 1000)且Cn != 0。Ci是幂次为i的项的系数。

输出

在一行内输出f’(x)的结果。
(1) 如果g(x) = 0那么直接输出0
(2) 如果g(x)形如Cm(x^m)+Cm-1(x^(m-1))+…+C0(Cm!=0)那么输出Cm…C0
(3) 相邻整数之间有单个空格。
样例输入
3
0
10
2
3 2 1
3
10 0 1 2
样例输出
0
6 2
30 0 1
    首先说明一下,本题样例输入输出有误

这道题看上去十分复杂,但看输出格式只输出多项式的系数就是c*i  (i从n减到1)

以测试数据2为例:

输入2,即有n+1项,输入3 2 1,即求(3x³+2x²+1)的导数:

n若为0,根据规则1,直接输出0

1. 根据规则3,原式的导数=3x²的导数+2x²的导数+1的导数

2. 根据规则1和2:1中的式子=3*2*x的1次方+2*1*x的0次方+0

3. 观察样例可以得到,最后一个0不输出,所以输出的数就是输入的每个c*i(i每次从n减1)

代码:

#include <stdio.h>
int main()
{
    int n, c;
    scanf("%d", &n);
    if (n==0){    //若n为0
        printf("0");
        return 0;
     }
    for (int i = n; i > 0; i--){
        scanf("%d", &c);
        printf("%d ", c * i);  输出多项式的系数
      }
    return 0;
}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值