解題思路:
我們從 \(a_n\) 遍歷到 \(a_0\),按照如下思路來進行模擬:
如果係數 \(a_i=0\),則第 \(i\) 項不用輸出任何資訊(即:不用進行接下來的判斷);
第乙個非零的係數 \(a_i\) 如果 \(\gt 0\),則不需要在前面加『+』,\(a_i\) 之後所有 \(\gt 0\) 的係數都有在前面加乙個『+』;
所有 \(\gt 0\) 的係數 \(a_i\) 都需要在前面加乙個負號;
如果 \(|a_i|=1\) 或者 \(i = 0\),則不用輸出 \(|a_i|\);否則,輸出 \(|a_i|\)(這裡 \(|x|\) 表示 \(x\) 的絕對值);
如果 \(i>1\),需要輸出x^i
的格式;否則,如果 \(i=1\),只需要輸出x
;否則(\(i=0\)),不需要輸出帶x
的資訊。
按照這種思路,實現**如下:
#include using namespace std;
int n, a;
bool flag;
int main()
else
if (abs(a) > 1 || i == 0) cout << abs(a); // 如果|ai|>1或者i==0,需要輸出係數
if (i > 1) cout << "x^" << i; // 如果i>1,需要輸出x^i
else if (i == 1) cout << "x"; // 如果i==1,需要輸出x
// 否則,不需要輸出}}
return 0;
}
洛谷 P1067 多項式輸出
其中,aixi稱為 i 次項,ai 稱為 i 次項的係數。給出乙個一元多項式各項的次數和係數,請按照如下規定的格式要求輸出該多項式 多項式中自變數為 x,從左到右按照次數遞減順序給出多項式。多項式中只包含係數不為 0 的項。如果多項式 n 次項係數為正,則多項式開頭不出現 號,如果多項式 n 次項係...
洛谷 P1067 多項式輸出
題目大意 一元 n 次多項式可用如下的表示式表示 其中,aixi稱為 i 次項,ai 稱為 i 次項的係數。給出乙個一元多項式各項的次數和係數,請按照如下規定的格式要求輸出該多項式 多項式中自變數為 x,從左到右按照次數遞減順序給出多項式。多項式中只包含係數不為 0 的項。如果多項式 n 次項係數為...
洛谷 P1067 多項式輸出
p1067 多項式輸出 廢話就不多說了,這道題屬於基礎題。提交出錯主要是因為一些小細節不到位,這裡就不一一贅述了,直接上 吧!如下 include using namespace std const int max 105 int n int num max int main 非常數項的輸出 for...