강의로 돌아가기
김지훈

효율성 테스트에서 걸리네요. 시간을 줄이는 다른 방법 없을까요? (C++)

include

include

include

using namespace std;

int solution(int n) {
int answer=0;
bool check;
int a;
for(int i=2; i<=n; i++)
{

check = true;
a = sqrt(i);
for(int j=2; j<=a; j++)
{

if(i%j==0)
{
check=false;
break;
}
}
if(check)
answer++;
}
return answer;
}

1 개의 답변
용시우

문제에서 주어지는 수의 범위는 2~1000000인데 모든 수를 하나하나 계산하는 코드가 효율적인 코드라고 할 수는 없습니다.
소수에 대해 연구했던 수학자들의 이론들을 찾아보세요.

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