ALGORITHM/BOJ

백준 1016 python 문제풀이

24_bean 2022. 7. 11. 13:17
import math
import sys

MIN, MAX = map(int, sys.stdin.readline().split())

answer = MAX-MIN+1
check = [False]*(MAX-MIN+1)
i=2
while i*i <= MAX:
    square_number = i*i 
    
    remain = 0 if MIN%square_number==0 else 1
    j = MIN//square_number + remain 
    while square_number*j <= MAX:
        if not check[square_number*j-MIN]:
            check[square_number*j-MIN]=True
            answer-=1
        j+=1
    i+=1        
print(answer)

'ALGORITHM > BOJ' 카테고리의 다른 글

백준 11758 / c++ (코드)  (0) 2023.01.08
백준 11723 python 문제풀이  (0) 2022.07.11
백준 1041 python 문제풀이  (0) 2022.07.11
백준 1013 python 문제풀이  (0) 2022.07.11