1010 一元多项式求导
一、题目
设计函数求一元多项式的导数。(注: x n x^n xn(n为整数)的一阶导数为 n x n − 1 nx^{n-1} nxn−1)
二、输入输出
输入格式
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
输出格式
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0
。
三、样例
输入样例
3 4 -5 2 6 1 -2 0
输出样例
12 3 -10 1 6 0
四、题目分析
只需要两个整型变量存放每次读入的系数和指数,由于常数项求导后为0,因此只需要判断读入的指数是否为0,非零进行求导输出,用flag进行格式控制,如果没有输出内容,则求导结果为“零多项式”,输出0 0
。
五、代码
#include <bits/stdc++.h>
using namespace std;
int main()
{
int exp;
int num;
int flag = 0;
while (cin >> num >> exp)
{
if (exp)
{
if (flag)
cout << ' ';
flag = 1;
cout << num * exp << ' ' << exp - 1;
}
}
if(flag==0)cout<<"0 0";
return 0;
}
六、总结
- 输入语句作为循环条件:
scanf
的返回值是读入变量的数量;cin
的返回值是iostream的引用,被重载后表示是否读入变量。
- 终端下结束输入的方法:
- Windows环境下,输入完毕后先按Enter键,再按Ctrl+Z键,最后再按Enter键,即可结束输入;
- Linux环境下,输入完毕后按Ctrl+D键即可结束输入。