사용 언어: python 3.9.5
https://programmers.co.kr/learn/courses/30/lessons/77884
level 1
def solution(left, right):
answer = 0
for i in range(left, right+1):
cnt = 0
# 약수 구하기
for j in range(1, i+1):
if i % j == 0:
cnt += 1
# 개수(size)가 짝수이면 더하기
if cnt % 2 == 0:
answer += i
else:
answer -= i
return answer
성공
10분
링크
접근법
제곱인 수는 항상 약수의 개수가 홀수 개라는 사실을 기반으로 접근
제곱이 아닌 수는 항상 약수의 개수가 짝수 개이다
**
연산자는 제곱을 의미함 (a**b는 a의 b 제곱)
def solution(left, right):
answer = 0
for i in range(left,right+1):
if int(i**0.5)==i**0.5:
answer -= i
else:
answer += i
return answer