https://beta.atcoder.jp/contests/abc097/tasks/abc097_b
解法
https://beta.atcoder.jp/contests/abc097/submissions/2506952
まずは全探索できるものを探す。
今回はXが小さいので、bを全探索してみよう。
bは1以上なのだが、bが1の時はべき乗が全て1になるので、2以上の数で考える。
答えの候補となるのは、b,b^2,b^3,...であるが、この中でX以下のものだけ見れば良い。
よって、変数xを答えの候補とすると、x≦Xを満たすまで、xにbを掛けていって答えを随時更新する。
int X; //--------------------------------------------------------------------------------------------------- void _main() { cin >> X; int ans = 1; rep(b, 2, X) { int x = b * b; while (x <= X) { ans = max(ans, x); x *= b; } } cout << ans << endl; }