ABC097 B Exponential

問題:https://atcoder.jp/contests/abc097/tasks/abc097_b

2重のfor文で全探索して条件を満たすものを見つければOKです。

コード例

X=int(input())
ans=0
for i in range(1,X+1):
    for j in range(2,11):
        tmp=i**j
        if ans<tmp<=X:
            ans=tmp
print(ans)

べき乗の数をいくつまで調べるかですが、この問題のXは最大が1000で、2^10が1024ですから最大10まで調べれば良いとわかります。