• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

[7.소수의 개수(에라토스테네스의 체)] count 개수로 안나오고 리스트로 나오는 이유가 무엇일까요?

21.10.19 21:44 작성 조회수 316

0

 
안녕하세요 에라토스테네스 체 문제를 함수로 만들어 풀어보았습니다. mac이라서 타임아웃이 되는지는 확인은 못했지만, 소수가 추출되긴 했습니다. count_prime에 소수인 지 확인되면 +1하도록 만들었는데, 디버그를 할 때는 +1이 돼서 정답이 도출되지만 (첫번째 첨부사진 ) print하면 소수의 갯수가 나오는 게 아니라 소수 하나하나 답이 나옵니다. (2번째첨부사진) 왜 이러는 걸까요 ?? len하면 Int와 len은 쓸 수 없다고 나와서 너무 답답합니다!!(str로 바꿔도 안되네요.. ) 제가 어떤 부분을 놓치고 있는 걸까요 ?
 
def isPrime(x):
    for i in range(2, x):
        if (x % i == 0):
            return False

    return True

n = int(input())

count_prime = 0
for x in range(1, n+1):
    if (isPrime(x) == True):
        count_prime += 1
        print(count_prime)

 
 

답변 1

답변을 작성해보세요.

0

안녕하세요^^

print(count_prime)

위에 출력을 if문 안에서 하지 말고, for x in range(1, n+1) 반복문이 끝난 후에 출력해야 합니다.