美文网首页
1010 一元多项式求导

1010 一元多项式求导

作者: 初见还是重逢 | 来源:发表于2019-03-02 10:11 被阅读0次

设计函数求一元多项式的导数。(注:x​n(n为整数)的一阶导数为nxn−1 。)

输入格式:

以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。

输出格式:

以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。

输入样例:

3 4 -5 2 6 1 -2 0

输出样例:

12 3 -10 1 6 0

思路:

定义两个数组,一个用于存放系数,一个存放指数,然后对系数乘以指数即为求导后的系数(分常数项与非常数项)

代码:

一元多项式求导

//1010  一元多项式求导
#include<iostream>
#include<vector>

using namespace std;

int main()
{
    vector<int> coefficient;//存放系数
    vector<int> index;//存放指数
    int temp;
    while (cin.peek() != '\n')//读取系数与指数
    {
        cin >> temp;
        coefficient.push_back(temp);
        cin >> temp;
        index.push_back(temp);
    }
    for (int i = 0; i < coefficient.size(); i++)
    {
        if (index[i] != 0)//指数大于1的求导
        {
            coefficient[i] *= index[i];
            index[i]--;
        }
        else//常数项求导
        {
            coefficient[i] *= index[i];
        }
    }
    cout << coefficient[0] << ' ' << index[0];
    for (int i = 1; i < coefficient.size(); i++)//输出
    {
        if (index[i] != 0||coefficient[i]!=0)
        {
            cout << ' ' << coefficient[i] << ' ' << index[i];
        }
    }
    return 0;
}

相关文章

网友评论

      本文标题:1010 一元多项式求导

      本文链接:https://www.haomeiwen.com/subject/wifeuqtx.html