python 변수 참조

조회수 615회
case = int(input())
TM = 1000*1000*10
factors = [0] * (TM + 1)

def getFactorsBrute(hi):
  for div in range(1, hi+1):
    multiple = div
    while multiple <= hi:
      factors[multiple] += 1
      multiple += div
  return 0

for i in range(case):
  n, lo, hi = map(int, input().strip().split(' '))
  getFactorsBrute(hi)

  cnt = 0
  for i in range(lo, hi+1):
    if factors[i] == n:
      cnt += 1
  print(cnt)

factors[] 를 외부에 선언하고 getFactorsBrute에서 factors[] 를 사용합니다. 첫 번째 for문을 case 만큼 반복하면서 factors를 사용하는데 어떻게 매번 초기화 해주지 않아도 원하는 factors를 얻을 수 있는건지 궁금합니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자
  • 초기화를 안해도 원하는 factors 를 얻는다는 의미가 무슨뜻인가요? 일단 목적이 뭔가요? 그리고 질문에 제시된 프로그램은 무엇의 문제가 있다는 뜻인가요? 정영훈 2018.9.23 02:05

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)