PAT B1010 1変数多項式導関数(フルスコア25)

アイデアは
、構造体配列使用して各数値とそのインデックスを格納し、条件に従って出力を判断することです。
タイトルの条件に注意する必要があります。「ゼロ多項式の指数と係数はどちらも0ですが、0 0 "と表されます。この点は考慮する必要があります。そうでない場合、通過できません。

コードは以下のように表示されます:

#include<iostream>
#include<vector>
#include<cstdio>

using namespace std;

struct num {
    
    
	int number;
	int count;
};

int main()
{
    
    
	vector<num> numbers;
	num tmp;
	int m = 0;
	int a, b;
	while (scanf("%d %d", &a, &b) != EOF)
	{
    
    
		tmp.number = a;
		tmp.count = b;
		m++;
		numbers.push_back(tmp);
	}
	int n = 0;
	for (int i = 0; i < m; i++)
	{
    
    
		if (numbers[i].number != 0 && numbers[i].count != 0)
		{
    
     // 指数不为0且系数不为0,求导后该项才不为零
			if (numbers[i].count > 0 && numbers[i + 1].count > 0 && i < m - 1)
				cout << numbers[i].number*numbers[i].count << " " << numbers[i].count - 1 << " ";
			else
				cout << numbers[i].number*numbers[i].count << " " << numbers[i].count - 1;
			n++;
		}
	}
	if (n == 0) cout << "0" << " " << "0";
	return 0;
}

コード後の要約:
この点を考慮する必要があります。指数が0でなく、係数が0でない場合のみ、項目は導出後にゼロではありません。もう1つのポイントは、E2015を使用する場合、VS2015では、入力を終了するためにCtrl + z + Enterを3回必要とすることです。
一般的に、この質問は非常に基本的です。

おすすめ

転載: blog.csdn.net/qq_27538633/article/details/105926704