1. 程式人生 > >PAT 乙級 1010 一元多項式求導

PAT 乙級 1010 一元多項式求導

1010 一元多項式求導 (25 point(s))

設計函式求一元多項式的導數。(注:x​n​​(n為整數)的一階導數為nx​n−1​​。)

輸入格式:

以指數遞降方式輸入多項式非零項係數和指數(絕對值均為不超過 1000 的整數)。數字間以空格分隔。

輸出格式:

以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。注意“零多項式”的指數和係數都是 0,但是表示為 0 0

輸入樣例:

3 4 -5 2 6 1 -2 0

輸出樣例:

12 3 -10 1 6 0

經驗總結: 

這題有個大坑。。。就是,如果輸出沒有非零項,必須輸出 0 0,真是坑!至少題目裡說清楚啊,雖然隱諱的有提示,但很難想到,除了這個坑,其實就沒啥了,具體的看程式碼啦~~很簡單的~~

AC程式碼

#include <cstdio>

int main()
{
	int m,n;
	int count=0;
	while(~scanf("%d %d",&m,&n))
	{
		if(n==0||m==0)
			continue;
		if(count==0)
			printf("%d %d",m*n,n-1);
		else
			printf(" %d %d",m*n,n-1);
		++count;
	}
	if(count==0)
		printf("0 0");
	return 0;
}