设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0
。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
分析:
1. 用一个flag标志是否已经输出过一个结果了,如果已经输出过一个结果,再输出结果之前要先输出一个空格。这样就能控制结尾没有多余的空格。
2. 对于$a^b$求导,先输出a*b,然后输出b - 1
3. 如果指数和系数都是0,那就 输出0 0
C++实现:
1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 int a, b, flag = 0; 7 while (cin >> a >> b) 8 { 9 if (b != 0) 10 { 11 if (flag == 1) 12 { 13 //flag = 1则表示已经有过输出 14 //在前面要先输出一个空格 15 cout << " "; 16 } 17 cout << a * b << " " << b - 1; 18 flag = 1; 19 } 20 } 21 22 if (flag == 0) 23 { 24 cout << "0 0"; 25 } 26 return 0; 27 }