ABC193 C - Unexpressed에서 배운



흠. 전혀 모르겠어.



20분 고민해 강참.

과연.
a^2 <= N이 되기 때문에 a<= (N)^(0.5)를 말할 수 있다. . ?
예상되는 최대 값 N과 예상되는 최소값 a ^ b (= a ^ 2)의 관계 (부등식)에서
a의 조건을 도출하고 있다.

Unexpressed.py
N = int(input())
lis = []
for a in range(2,1+10**5):
    b = 2
    while True:
        if a**b <= N:
            lis.append(a**b)
            b += 1
        else:
            break
lis = set(lis) #二重の値を省く処理
print(N - len(lis))

공부가 되었습니다. m(_ _)m

좋은 웹페이지 즐겨찾기