강의로 돌아가기
-

코드 채점 오류 인것 같습니다...

def solution(n):
answer=1
a=list(range(2,n+1))
for i in a:
if n%i==0:
answer=answer+i
return answer

이론상으론(효율은 엄청 떨어지지만...) 약수의 합을 구하는 프로그래밍입니다.

실제로 채점을 해보니 answer =1일때는 16번째 테스트빼고는 모두 맞지만,
answer=0일때는 16번째 테스트만 맞는걸보니, 코드 채점에서 16번 째 채점 답안이 오류인 것 같습니다.

  • 김동은

    저도 16번에 문제가 있어서 찾아보니 자연수의 정의에 0이 포함되는 경우도 있다고하는 사실을 확인했습니다. 입력값이 0일 때만 처리해주시면 될 것 같습니다

    김동은―2018.08.22 18:25
3 개의 답변
프로그래머스

안녕하세요. 프로그래머스 팀입니다.
약수의 합 문제에는 오류가 없습니다. 좀 더 생각해보고, 코드를 다듬어보세요.

ywangnon

저도 다른 언어지만 똑같은 문제로 고민하다가 오류없다는 답변에 다시 작성하여 해결했습니다.
0이 입력되는 경우를 생각해보시면 될 것 같습니다.

-

n = int(input(자연수 입력 :))
sum=0
for i in range(1,n+1):
if n%i==0:
sum+=i
print(sum) ?? ???? 이거 무조건 함수작성인가요

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.