PAT_1010 一元多項式求導


題目描述:

                 設計函數求一元多項式的導數。(注:xn(n為整數)的一階導數為n*xn-1。)

輸入格式:

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

輸出格式:

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

輸入樣例:

3 4 -5 2 6 1 -2 0

輸出樣例:

12 3 -10 1 6 0

代碼如下:

#include <cstdio>

int main()
{
    int m,n;
    int flag=1;
    while(scanf("%d %d",&m,&n)!=EOF){
        if(n>0){
            if(flag==1){
                printf("%d %d",m*n,n-1);
                flag=0;
            }else{
                printf(" %d %d",m*n,n-1);
            }
        }
    }
    if(flag==1)
         printf("0 0");

    return 0;
}

思路解析:

                看着代碼可能挺簡單的。(= =我可是想了好久。還有中間就一個測試點超時了好多次不給過呢。)這題不要把所有的數字存到一個數組里,這道題應該一組一組的來分析,也就是一個系數一個指數的來分析,我看好多人都存到一個數組里的,代碼麻煩死啦~。本題的flag是為了挑出第一個,第一個有了就把flag改為0,主要是差在輸出的空格。一看代碼便知。flag還用來確定是不是題目里所謂的“零多項式”。如果是就輸出0 0。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM