백준 1016 제곱ㄴㄴ수 (Python)

Joowan Park·2023년 7월 30일
0

코딩

목록 보기
11/28
post-custom-banner
#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))

더 효율적인 방법이 있을런지 ... ?

profile
Complex Dynamics에서 탈출한 원숭이

0개의 댓글