수를 입력받아 홀수인지 여부를 리턴해야 합니다.
number
타입의 정수boolean
타입을 리턴해야 합니다.while
)문을 사용해야 합니다.for
문 사용은 금지됩니다./
), 나머지(%
) 연산자 사용은 금지됩니다.let output = Odd(17);
console.log(output); // --> true
output = Odd(-8);
console.log(output); // --> false
function Odd(num) {
if (num < 0){
num = -num;
}
while(num >= 0){
if(num === 0){
return false;
}else if(num === 1){
return true;
}
num = num -2
}
}
나눗셈과 나머지 연산자를 사용하지 않고 홀수를 찾아내는 생각을 하는게 어려웠다
숫자 -2 를 계속 연산했을때 1이 나오면 홀수 0이 나오면 짝수다
(단 조건은 숫자가 양수 일때 까지)
9-2=7-2=5-2=3-2=1 / 8-2=6-2=4-2=2-2=0
그렇다면 숫자가 0보다 작게 들어오면 숫자를 양수로 바꿔주면
양수로 바꿔서 계산 해줄 수 있다
숫자는 한번 반복 될때마다 -2를 계산해주고
숫자가 0이면 짝수로 false를 리턴해주고 1이되면
홀수이므로 true를 리턴해주면 된다
그리고 num = num -2 를 계산해주는 식도 위치를 잘 넣어야 하는데
위쪽에 넣게되면 숫자가 0이 들어왔을때 -2가 되어서 맞지 않는다