1010 一元多項式求導 (25 分)


題目:1010 一元多項式求導 (25 分)

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

輸入格式:

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

輸出格式:

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

輸入樣例:

3 4 -5 2 6 1 -2 0

輸出樣例:

12 3 -10 1 6 0

思路:

  • 這個題目還是簡單的,只是要注意剛開始輸入指數就是0的情況,這種情況就直接輸出0 0並結束程序就好了,其他正常輸入的情況遇到指數為0的就不做輸出處理。不然測試點2、4會過不了。
  • 還有一個略微麻煩的地方就在格式處理。

代碼:

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <iostream>
 4 #include <sstream>
 5 #include <cmath>
 6 #include <algorithm>
 7 #include <string>
 8 #include <stack>
 9 #include <queue>
10 #include <vector>
11 #include <map>
12 using namespace std;
13 
14 struct mulnomial{
15     int coef;
16     int index;
17 }nomial[1005];
18 
19 int main()
20 {
21     int cnt = 0;
22     while(1)
23     {
24         scanf("%d%d", &nomial[cnt].coef, &nomial[cnt].index);
25         if(nomial[cnt].index == 0 && cnt == 0)
26         {
27             printf("0 0");
28             break;
29         }
30         if(nomial[cnt].index == 0 && cnt != 0)
31             break;
32         if(cnt != 0)
33             printf(" ");    
34         printf("%d %d", nomial[cnt].coef * nomial[cnt].index, nomial[cnt].index-1);
35         cnt++;
36     }
37     return 0;
38  } 

 總結:

  這題是邊輸入邊處理邊輸出的題,用結構體其實做麻煩了,實際上不需要結構體直接設立兩個普通整型進行輸入也可以解決。而且感覺個人在細節處理上有點冗長,可以說沒必要吧……。25行--31行的處理就顯得有點重復。


免責聲明!

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



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