728x90
반응형
난이도가 있는(시간 초과) 수학 문제이다. 0부터 시작해서 제곱 값들을 확인하면
무조건 시간 초과가 나오기 때문에 a보다 크거나 같은 제곱수들만 확인해야 한다.
a, b = map(int, input().split())
li = [1]*(b-a+1)
for i in range(2, int(b**0.5)+1):
t = i**2
for j in range(a//t*t, b+1, t):
if j-a >= 0 and li[j-a]:
li[j-a] = 0
print(li.count(1))
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 14425번 문자열 집합(python) (2) | 2021.03.20 |
---|---|
백준 알고리즘 9663번 N-Queen(python) (0) | 2021.03.20 |
백준 알고리즘 11660번 구간 합 구하기 5(python) (0) | 2021.03.20 |
백준 알고리즘 17175번 피보나치는 지겨웡~(python) (0) | 2021.03.20 |
백준 알고리즘 15624번 피보나치 수 7(python) (0) | 2021.03.19 |