[AtCoder] ABC 166 D – I hate Factorization
問題
方針
\( y = x^5 \) というグラフを考えると、発散するスピードが速いことが分かります。よって、\( A , B\) という値は、\( X \) に比べて非常に小さい値を取ることが想像できます。これは、\( y = (x + 1)^5 – x^5 \) というグラフを考えれば分かると思います。よって、全探索を行います。
コード
#include <bits/stdc++.h> using namespace std; typedef long long ll; int main() { ll X; cin >> X; set<ll> s; for (ll i = -1000; i <= 1000; i++) { for (ll j = -1000; j <= 1000; j++) { ll A = pow(i, 5); ll B = pow(j, 5); //if (A - B >= 1) s.insert(A - B); if (A - B == X) { cout << i << " " << j << "\n"; return 0; } } } //cout << s.size() << "\n"; return 0; }
ディスカッション
コメント一覧
まだ、コメントがありません