給 6 個整數 a, b, c, d, e, f
代表方程式
求此方程式的所有根分別介於哪兩個 連續 整數之間
若無限多組解輸出Too many... = ="
若無實數解輸出N0THING! >\\\<
所有輸出的數字 ,
※ 無實數解輸出 N0THING! >\\\<( \*3 )
因為題目保證
所以 的範圍
大約是
窮舉這個範圍的所有 連續整數 即可
題目要求輸出的字串含 "、\
需要使用挑脫字元 \
評分結果(參考) : AC (3ms, 348KB)
#include<bits/stdc++.h>
#define int long long
using namespace std;
int a, b, c, d, e, f;
int g(int x){
return a*pow(x, 5) + b*pow(x, 4) + c*pow(x, 3) +
d*pow(x, 2) + e*x + f;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> a >> b >> c >> d >> e >> f;
if(a==0 && b==0 && c==0 && d==0 && e==0 && f==0){
cout << "Too many... = =\"";
}
else{
bool haveRoot = false;
for(int i=-35; i<=35; i++){
int f1=g(i), f2=g(i+1);
if(f1*f2 < 0){
cout << i << " " << i+1 << "\n";
haveRoot = true;
}
else if(f1 == 0){
cout << i << " " << i << "\n";
haveRoot = true;
}
}
if(!haveRoot) cout << "N0THING! >\\\\\\<";
}
return 0;
}