设计函数求一元多项式的导数。
输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。
输入样例:3 4 -5 2 6 1 -2 0输出样例:
12 3 -10 1 6 0
Solution 1
#include <iostream> #include <vector> using namespace std; int main() { vector<int> p; int x; while (cin>>x) { p.push_back(x); } int p_size=p.size(); if(p_size!=0) // 0 denote no element in p, and will print "0 0" like p_size==2. { for(int i=0;i<p_size;i=i+2) { p[i]=p[i]*p[i+1]; p[i+1]=p[i+1]-1; if (p[i]!=0) { if(i!=0)cout<<' '; cout<<p[i]<<' '<<p[i+1]; } else { if(p_size==2) cout<<"0 0"; } } } else { cout<<"0 0"; } system("pause"); return 0; }
Solution 2
#include<iostream> using namespace std; int main() { int temp1,temp2; int i=0; while (cin>>temp1>>temp2) { temp1*=temp2; temp2=temp2-1; if(temp1==0) { if(i==0) cout<<"0 0"; } else { if (i==0) { cout<<temp1<<' '<<temp2; } else { cout<<' '<<temp1<<' '<<temp2; } } i++; } if(i==0) cout<<"0 0"; cout<<endl; system("pause"); return 0; }
本文介绍了一种计算一元多项式导数的方法,并提供了两种C++实现方案。输入为多项式的非零项系数及指数,输出为导数多项式的相应系数及指数。
542

被折叠的 条评论
为什么被折叠?



