ymh1521   2년 전

a,b=map(int,input().split())

for n in range(a,b+1):

     if n==1 or (n!=2 and n%2==0) or (n!=3 and n%3==0) or (n!=5 and n%5==0) or (n!=7 and n%7==0):

          continue

     print(n)

출력초과의 이유를 모르겠습니다.

선배님들의 고견 부탁드리겠습니다.

sonjaewon   2년 전

N = 11 * 13 이면 어떻게 될까요?

wizardrabbit   2년 전

안녕하세요?

검사하고 있는 소수의 개수가 너무 적어서 그런 것 같습니다. M과 N의 크기는 1 ≤ M ≤ N ≤ 1,000,000 입니다.

입력으로 800,000부터 1,000,000 사이의 소수를 구하라고 하면  해당 프로그램은 2, 3, 5, 7로만 나누어 떨어지는지를 검사하기 때문에 소수를 제대로 걸러내지 못 하게 됩니다. 그 결과 정답과 비교했을 때 너무 많은 수가 출력되게 되고 출력 초과를 받게 됩니다.

댓글을 작성하려면 로그인해야 합니다.