gee308   6년 전

틀렸으니까 틀렸겠죠?


근데 도저히 이유를 모르겠어서 정답코드랑 출력비교만 1시간 넘게 해봤습니다

1시간 넘게 해본 모든 출력에 다 같은 결과값이 나왔습니다.

사실 코드 보기엔 너무 지저분 할것인데

Permutation 함수를 이상하게 짜놔서

sort(arr2.begin(), arr2.end());
arr2.erase(unique(arr2.begin(), arr2.end()), arr2.end());

이렇게 주먹구구로 해결했거든요 정답뜨면 고치려고..

근데 정답이 안뜨네요..?

어디가 문제일까요


ntopia   6년 전

https://ideone.com/pVw0LF

직접 돌려봤는데 예제도 안나오는데요...?

어딘가에 undefined behaviour 가 있어서

컴파일러마다 다른 결과를 뱉는 것 같습니다

gee308   6년 전

ntopia 


당신은 갓인가요..??

새로운 검증법을 알려주셨네요


void Eratos(int n) 함수에 아래 코드를 추가하니 맞았네요...

for(int i=2; i<=n; i++) PrimeArray[i]=true;

이 코드를 빼도 제 컴파일러에서는 bool 동적할당과 동시에 모든값이 true가 됐었거든요...


감사합니다!

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