天天看點

一進制多項式求導題目描述

題目描述

設計函數求一進制多項式的導數。

輸入格式:

以指數遞降方式輸入多項式非零項系數和指數(絕對值均為不超過 1000 的整數)。數字間以空格分隔。

輸出格式:

以與輸入相同的格式輸出導數多項式非零項的系數和指數。數字間以空格分隔,但結尾不能有多餘空格。注意“零多項式”的指數和系數都是 0,但是表示為

0 0

思路

開一個數組

a[]

,存放對應指數的系數,如

a[e]

即表示指數為

e

的項的系數。

然後使用while…EOF的格式讀入系數和指數。

可劃分為“輸入”、“運算”和“輸出”三步。

注意點

1、求導時,要從低次項開始枚舉。因為在求導計算時,低次項不會影響高次項,而反過來高次項中的0會造成所有低次項系數變成0。

參考代碼

#include<iostream>
using namespace std;
const int N = 2010;
int a[N];
int main()
{
    //輸入
    int exp,cof,count=0;
    while((scanf("%d%d",&cof,&exp))!=EOF){
        a[exp]=cof;
    }
    //運算
    for(int i=1;i<N;i++){
        a[i-1]=a[i]*i;
        if(a[i-1])count++;
    }
    //輸出
    if(!count)printf("0 0");
    else{
        for(int i=N-1;~i;i--){
            if(a[i]){
                printf("%d %d",a[i],i);
                count--;
                if(count)printf(" ");
            }
        }
    }
    return 0;
}
           

繼續閱讀