编程题目: PAT 1010. 一元多项式求导 (25)

1010. 一元多项式求导 (25)

时间限制
400 ms
内存限制
32000 kB
代码长度限制
8000 B
判题程序
Standard

设计函数求一元多项式的导数。

输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。

输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。

输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
        本题目说难,一点都不难,但是有一个很坑人的点,就在于当求导之后为0,需要输出“0 0",这是务必注意的一个点!参考代码如下:


/*
http://pat.zju.edu.cn/contests/pat-b-practise/1010 一元多项式求导 (25)
*/
#include<iostream>
#include<vector>
using namespace std;

int main()
{
	vector<int> v;
	int n;
	while(cin>>n)
		v.push_back(n);
	if(!v.empty())
	{
		for(int i = 0;i<v.size();i=i+2)
		{
			v[i] *= v[i+1];
			v[i+1]--;
			if(v[i]!=0)
			{
				if(i !=0 )
					cout<< " ";
				cout<<v[i]<<" "<<v[i+1];
			}
			else
			{
				if(v.size()==2)
					cout<<"0 0";
			}
		}
	}
	else
		cout<<"0 0";
	system("pause");
	return 0;
}


原文地址:https://www.cnblogs.com/f8master/p/3826093.html