AtCoder ABC 097 B – Exponential Python解説

スポンサーリンク

Exponential

正整数 X が与えられます。正整数 X が与えられます。
ただし、べき乗数とは、ある 1 以上の整数b と 2 以上の整数 p を使ってb^p とかける整数のことを指すこととします。

AtCoder Beginner Contest 「Exponential」

整数Xは1000以下の数字であるため、愚直に計算しても大丈夫です。よってfor文の2重ループを使い条件を満たすものを全探索してみます。

x = int(input())

ans = 0

for i in range(1, x + 1):
    for j in range(2, 11):
        if i ** j <= x:
            ans = max(i ** j, ans)
        else:
            break
            
print(ans)

for文の外側のループは1からXまでの数値で、内側のループは数値のべき乗を行っています。また、調べるべき乗の数は2^10でXの最大値1000を超えるので、べき乗の数は2から11まで調べれば十分だと思います。