1.问题描述:
设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为
0 0
。
2.问题关键:
- 以指数递降方式输入多项式
- 输入首个多项式是“零多项式”时,输出“0 0”
这个体主要是没读懂题,出小错。重点考虑首个多项式就是零多项式时,即指数为0,因为是递减,所以只有这一对数据输入,这时需要考虑特殊输出情况“0 0”。其他情况的0指数不需要输出任何。
3.建议代码(柳神):
#include<iostream>
using namespace std;
int main(){
int a,b;
int flag=0;
while(cin>>a>>b){
if(b!=0){
if(flag==1) cout<<" ";
cout<<a*b<<" "<<b-1;
flag=1;
}
}
if(flag==0) cout<<"0 0";
return 0;
}