欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【算法笔记】B1010 一元多项式求导

程序员文章站 2022-06-21 22:40:04
1010 一元多项式求导 (25 分) 设计函数求一元多项式的导数。(注:x​n​​(n为整数)的一阶导数为nx​n−1​​。) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。 输出格式: 以与输入相同的格式输出导数多项式非零项的系数和 ......

 

1010 一元多项式求导 (25 分)

设计函数求一元多项式的导数。(注:xn​​(n为整数)的一阶导数为nxn1​​。)

输入格式:

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

输出格式:

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

输入样例:

3 4 -5 2 6 1 -2 0

输出样例:

12 3 -10 1 6 0

分析:

想了好久,数组行不通后考虑不保存直接计算输出。这样有个难点在输出格式上,所以加了个flag位判断。
代码还有点小瑕疵,继续努力~

code:

 

#include <iostream>
using namespace std;
int main()
{
    int m,n;
    int flag=0;
    while(cin>>m>>n){
        if(n>0){
            if(flag==0){
                cout<<m*n<<" "<<n-1;
                flag=1;
            }else{
                cout<<" "<<m*n<<" "<<n-1;
            }
        }
        else break;
    }
    if(flag==0) cout<<"0 0";
    return 0;
}