정사각형방에 좌측 하단에서 레이져가 나온다. p와 q의 길이가 주어질때 해당 레이져가 어떤 모서리에 도달하는지 계산하라. (모든 input은 최종 모서리에 도달하는게 보장됨)
Input: p = 2, q = 1
Output: 2
Explanation: The ray meets receptor 2 the first time it gets reflected back to the left wall.
in
에, 홀수 인경우 0
에 도달솔직히 이런 문제 코딩테스트 훈련용으로 좋은문제는 아니지만. 약간 수학 퀴즈 같은 느낌의 재미는 있는 문제다.
0 ms, faster than 100.00% of C
int mirrorReflection(int p, int q){
/* 최대 공약수로 p , q 를 나눠주기 */
int com = q;
for (; com > 0; com--) {
if (p % com == 0 && q % com == 0)
break;
}
p = p / com;
q = q / com;
if (q % 2 == 0) {
if (p % 2 == 0)
return -1;
else
return 0;
} else {
if (p % 2 == 0)
return 2;
else
return 1;
}
}