pat 乙级 1010 一元多项式求导(C++)
生活随笔
收集整理的這篇文章主要介紹了
pat 乙级 1010 一元多项式求导(C++)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
設計函數求一元多項式的導數。(注:x?n,n為整數)的一階導數為nx?n?1 。)
輸入格式:
以指數遞降方式輸入多項式非零項系數和指數(絕對值均為不超過 1000 的整數)。數字間以空格分隔。
輸出格式:
以與輸入相同的格式輸出導數多項式非零項的系數和指數。數字間以空格分隔,但結尾不能有多余空格。注意“零多項式”的指數和系數都是 0,但是表示為 0 0。
輸入樣例:
3 4 -5 2 6 1 -2 0
輸出樣例:
12 3 -10 1 6 0
分析
- 題目未指定輸入個數,因此要分情況討論。
- 當僅輸入一項時,分為零多項式(系數都是0的多項式)、常數多項式(只含常數項)和普通多項式三種。此時,零多項式和常數多項式輸出為"0 0",普通多項式輸出為"a*b b-1"。用換行符來判斷是否繼續。
- 當輸入不定項時,需要使用死循環輸入,然后根據條件來跳出循環。跳出循環的條件,一是常數項,二是換行符。
AC代碼
#include<iostream> #include<cstdio> using namespace std; int main() {int a,b;cin>>a>>b;//輸入僅一項//輸出零多項式和常數多項式結果char c=getchar();if(b==0){cout<<"0 0";return 0;}//輸出普通多項式else{cout<<a*b<<" "<<b-1;}if(c=='\n')return 0;//輸入多項for(;cin>>a>>b;){if(b!=0)cout<<" "<<a*b<<" "<<b-1;elsebreak;if(c=='\n')break;}return 0; }Reference
常數多項式、零次多項式和零多項式的差別
知乎:零多項式是什么?
有任何問題,歡迎評論區留言
更多題解
pat 乙級 題解匯總(持續更新)(C++)
總結
以上是生活随笔為你收集整理的pat 乙级 1010 一元多项式求导(C++)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 防ddos攻击能力(ddos攻击能力)
- 下一篇: pat 乙级 1009 说反话 (C++