개인 기록

홀,짝 구별을 n/2가 아닌 n%2를 사용하는 이유

Slow Motion~ 2023. 2. 9. 17:36
728x90

문제를 풀다가 문득 짝수를 구분하기 위해 n/2를 사용하면 안되나 라는 생각을 하였다.

 

if(n/2 ==0)
if(n%2 ==0)

둘의 차이점은 

n%2는 n이 짝수인지 홀수인지를 확인한다. n%2는 n이 짝수면 0을 반환하고 홀수면 0이 아닌 값을 반환한다.

그래서 if(n%2 == 0)은 n이 2로 나누어 떨어지는지 아닌지를 확인한다.

 

반면 if(n/2 ==0)은 n이 2로 정확하게 나누어 떨어지는지 확인한다. 즉 n이 2로 정확하게 나누어 떨어지는 짝수라는 것을 의미한다.

 

결론적으로 짝수만을 구분하기 위해서는 다를게 없지만 홀수까지 생각해 본다면 %를 쓰는게 낫겠다.