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