코딩

[BOJ] 백준 1016 제곱ㄴㄴ수 Python

척척석사아님 2023. 10. 27. 11:31
728x90
#1016 제곱 ㄴㄴ수

import sys
import math


A,B = map(int,input().split())
C = int(math.sqrt(B))
nest = [1] * (B-A+1)

for i in range (2,C+1):
    a = A // (i ** 2)
    a *= (i ** 2)
    if a * (i ** 2) <  A and B < (a + 1) * (i ** 2):
        continue
    else:
        for j in range (a,B + 1,(i ** 2)):
            if j - A >= 0:
                nest[j-A] = 0

print(nest.count(1))

이것도 좀 나중에 설명을 좀 써둬야겠네요 ㅋㅋ ㅠ