PAT乙級1010
阿新 • • 發佈:2021-02-09
1010 一元多項式求導
設計函式求一元多項式的導數。(注:xn(n為整數)的一階導數為nxn-1。)
輸入格式:
以指數遞降方式輸入多項式非零項係數和指數(絕對值均為不超過 1000 的整數)。數字間以空格分隔。
輸出格式:
以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。注意“零多項式”的指數和係數都是 0,但是表示為 0 0。
輸入樣例:
3 4 -5 2 6 1 -2 0
輸出樣例:
12 3 -10 1 6 0
要點:
- 初始結果輸出,因為末尾不能有空格,所以肯定不是僅一個迴圈就能讓結果格式符合要求。並且只能靠檔案結束符判斷輸入結束,這意味著很難找到最後一對資料不讓其輸出空格,所以要從開頭下手,題目給出的多項式都是最簡的,初始化很容易進行,a空b 空a空b 空a空b …
- 形成正確的邏輯:
如果第一對資料不是常數項,輸出a空b,進入迴圈即可。
否則,看是否有第二對輸入,如果有,輸出此對資料的a空b,再進入迴圈即可。如果沒有,說明結果是零多項式,輸出“0 0”。
解題程式碼:
#include<iostream>
using namespace std;
int main()
{
int a, b;
if((cin>>a>>b) && b) {cout << a*b << ' ' << b-1;}
else {
if (cin>>a>>b) {cout << a*b << ' ' << b-1;}
else {cout << "0 0";}
}
while(cin>>a>>b) {
if(b) {cout << ' ' << a*b << ' ' << b-1;}
}
return 0;
}