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判断,且要仔细考虑输出情况
1 // 1010.cpp : 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include<iostream> 6 #include<vector> 7 8 using namespace std; 9 10 class number 11 { 12 public: 13 int coefficient;//系数 14 int power;//指数 15 }; 16 17 int main() 18 { 19 vector<number> v; 20 number num; 21 char c; 22 23 while (1) 24 { 25 cin >> num.coefficient >> num.power; 26 27 v.push_back(num); 28 29 if ((c = getchar()) == ' ')//判断输入结束 30 break; 31 } 32 33 vector<number>::iterator i, end = v.end(); 34 35 for (i = v.begin(); i != end; i++) 36 { 37 if (i == v.begin()&&i->power!=0)//当不为常数且为第一个元素求导 38 cout << (i->coefficient)*(i->power) << " " << (i->power) - 1; 39 else if (i == v.begin() && i->power == 0)//是常数即仅有一个元素 40 cout << 0 << " " << 0; 41 else 42 { 43 if (i->power != 0) 44 cout <<" "<< (i->coefficient)*(i->power) << " " << (i->power) - 1; 45 } 46 } 47 48 return 0; 49 }