ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • for i in range(2, 2):
    error 2021. 3. 12. 00:11
    input = 20
    
    # 소수는 자기 자신과 1외에는 아무것도 나눌 수 없다.
    # 주어진 자연수 N이 소수이기 위한 필요 충분 조건은
    # N이 N의 제곱근보다 크지 않은 어떤 소수로도 나눠지지 않는다.
    # 수가 수를 나누면 몫이 발생하는데, 몫과 나누는 수 둘 중 하나는 반드시 N 제곱근 이하
    def find_prime_list_under_number(number):
        prime_list = []
        for n in range(2, number + 1):  # n = 2 ~ 20
            # print("n: ", n)
            for i in range(2, n):       # i = 2, n = 2,3    / n자기 자신을 자기 보다 더 작은 수들로 나누겠다.
                print("프린트가 나오면 n이 2인데, 포문 안에 들어온 것.")
                if n % i == 0:
                    # print("i: ", i)
                    # print("n%i: ", n%i)
                    break
            else:
                prime_list.append(n)
    
        return prime_list
    
    result = find_prime_list_under_number(input)
    print(result)

     

    for i in range(2, n):

    이 부분에서 n이 2일 때, (i도 2)

    if 문 안에 들어가면 2 % 2 == 0이 충족되어서 break문을 맞는데, 왜 prime_list에 2가 들어가는지 이해를 못해서 

    중간 중간 print찍어서 확인해보다가 여기에 시간을 많이 써서, 팀원 분께 도움 요청했다.

     

    for i in range(2, 2):

    이렇게 되면, 범위에 아예 해당이 안돼서 for문 안으로 들어갈 수 없다.

    ... 그러네... 범위가 말이 안되네. 저게 왜 지금 보이는 건지...

    뭐... 오늘 실수 했으니까 다음번엔 더 잘 보이겠지.

    댓글