PAT 乙级 1010 一元多项式求导 (25) C++版

时间:2023-03-08 15:53:00

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

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

设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)

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

输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“0 0”。

输入样例:

3 4 -5 2 6 1 -2 0

输出样例:

12 3 -10 1 6 0

注意点:判断输入结束不能以最后一个为0判断,且要仔细考虑输出情况
 // 1010.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include<iostream>
#include<vector> using namespace std; class number
{
public:
int coefficient;//系数
int power;//指数
}; int main()
{
vector<number> v;
number num;
char c; while ()
{
cin >> num.coefficient >> num.power; v.push_back(num); if ((c = getchar()) == '\n')//判断输入结束
break;
} vector<number>::iterator i, end = v.end(); for (i = v.begin(); i != end; i++)
{
if (i == v.begin()&&i->power!=)//当不为常数且为第一个元素求导
cout << (i->coefficient)*(i->power) << " " << (i->power) - ;
else if (i == v.begin() && i->power == )//是常数即仅有一个元素
cout << << " " << ;
else
{
if (i->power != )
cout <<" "<< (i->coefficient)*(i->power) << " " << (i->power) - ;
}
} return ;
}