PAT 乙级 1010 (方法 + 代码)

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

设计函数求一元多项式的导数。(注:x​n​​(n为整数)的一阶导数为nxn−1​​。)

输入格式:

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

输出格式:

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

输入样例:

3 4 -5 2 6 1 -2 0

输出样例:

12 3 -10 1 6 0

解题思路:

C++版

检查最高的多项式是否为0多项式,如果是输出0 0(因为输入是以指数递降方式输入多项式非零项系数和指数),不是的话,往后碰见全是0的就不用输出了

#include
#include
using namespace std;
int main()
{
	int l = 1,num,num1;
	while(cin>>num>>num1)
	{
			if(num1 > 0)
			{
				if(l == 1)
				{
					printf("%d %d",num*num1,num1-1);
					l = 0;
				}
				else
					printf(" %d %d",num*num1,num1-1);
			}
			else if(l == 1)
				printf("0 0");
	}
	
	system("pause");
	return 0;
}

你可能感兴趣的:(PAT乙级)