1.소수판별 최적의 방법
에라토스 테네스의 체를 만들면 메모리는 일부 더 사용할 수도(아닐수도)있지만, 하나씩 Prime 여부를 확인하는데 정말 강력하다...
num까지의 에라토스 테네스를 만들려면
bool notPrime[num+1] = {1, 1};
for(int i = 2; i <= sqrt(2*num); i++){
if(!notPrime[i]){
for(int j = i*i; j <= 2*num; j+=i){
notPrime[j] = true;
}
}
}
이렇게 만들 수 있다. 배열의 값이 true이면 소수가 아닌것, false이면 소수이다!
cout << fixed;
cout.precision(6);
fixed명령을 통해서 소수점을 고정한다.
precision()명령을 통해서 소수부분에 고정할 자리수를 입력한다!
참고