24 lines
433 B
Python
24 lines
433 B
Python
import math
|
|
import sys
|
|
|
|
input = sys.stdin.readline
|
|
|
|
min, max = map(int, input().split())
|
|
|
|
arr = [False] * (max - min + 1)
|
|
|
|
for i in range(2, int(math.sqrt(max))+1):
|
|
pow = i * i
|
|
start_index = int(min/pow)
|
|
if min % pow != 0:
|
|
start_index+=1
|
|
for j in range(start_index, int(max/pow)+1):
|
|
arr[int(j*pow-min)]=True
|
|
|
|
count = 0
|
|
|
|
for i in range(0, max-min+1):
|
|
if not arr[i]:
|
|
count += 1
|
|
|
|
print(count) |