From : Home (Kim Sung Joo) Date : Mon Aug 10 01:25:26 1992 Subject: 나도 풀어버린 문제...(fancy님께) 오늘 bbs를 보다 재미있는 문제를 발견, 나의 답을 적어 봅니다.... _________________________________________________________________________________ 쉬운 문제 : (또한 많이 알려진) 1) 3등분하고 세개씩을 저울질한다. 2) 1의 결과 무거운 세개,또는 저울질 결과 평형을 유지하면 남겨둔 세개를 택하고, 이 세개중 2개를 저울질한다. 3) 2의 결과중 무거운 하나, 또는 저울질 결과 평형을 유지하면 남겨둔 하나가 9개중 무 거운 하나다... _________________________________________________________________________________ 중간 문제 : (논리학 개론에 나올 법한 문제) 1) 먼저 두길에다 1번 2번을 써놓는다.(물론 손가락으로 지칭해도 무방하겠죠..) 2) 한 컴퓨터에게 묻기를, " 내가 참 말만 하는 컴퓨터일때만(필요충분조건) 1번 길이 천당으로 가는 길이다 라는 명제는 참이냐, 거짓이냐? " 3) 어떤 컴퓨터에게 묻던간에 답이 참이면 1번길이 천당행, 거짓이라면 2번길이 천당행. _________________________________________________________________________________ 어려운 문제 : (저울질할시의 무개에 대한 정보를 유지하는게 관건) (이 문제의 정답은 Lucifer (lee sung-tak )님의 것이 정확하고도 수 학적으로 합당한 답이지만 저는 여기에 보다 인간적인(?!) 답을 적어봅니다. 의심이 가 시면 programming을 해보시길.... 호호호) 1) 구슬을 3등분하여 4개씩으로 나눈다. (1,2,3,4과 5,6,7,8, 그리고 9,a,b,c 세등분) 2) 1~4와 5~8을 저울질한다. 3) if(무개가 같으면) { /* 1~8은 제외 */ 3.1) 9와 a를 저울질한다 3.2) if(무개가 같으면) { /* 9와 a는 제외 */ 3.2.1) 9와 c를 저울질 3.2.2) if(무개가 같으면) " b가 무개가 다른 하나이다!!" 3.2.3) else " c가 무개가 다른 하나이다!!" } 3.3) else { /* 9와 a중 하나 */ 3.3.1) 9와 c를 저울질 3.3.2) if(무개가 같으면) " a가 무개가 다른 하나이다!!" 3.2.3) else " 9가 무개가 다른 하나이다!!" } } 4) else { /* 1~8중의 하나, 9~c는 무개같음 */ 4.1) 무거운쪽의 4개를 ㄱ,ㄴ,ㄷ,ㄹ로 가벼운쪽은 ㅁ,ㅂ,ㅅ,ㅇ으로 정한다. 4.2) ㄱ,ㄴ,ㅁ과 ㄷ,ㅂ,9를 저울질한다. 4.3) if(무개가 같으면) { /* ㄹ,ㅅ,ㅇ중 하나 */ 4.3.1) ㅅ과 ㅇ을 저울질한다. 4.3.2) if(무개가 같으면) " ㄹ이 무개가 다른 하나이다!!" 4.3.3) else " 둘중 무개가 가벼운쪽이 무개가 다른 하나이다!!" } 4.4) else { /* ㄹ,ㅅ,ㅇ은 제외 */ 4.4.1) if(ㄱ,ㄴ,ㅁ쪽이 무거우면) { /* ㄱ,ㄴ,ㅂ중 하나 */ 4.4.1.1) ㄱ,ㄴ을 저울질한다. 4.4.1.2) if(무개가 같으면) " ㅂ이 무개가 다른 하나이다!!" 4.4.1.3) else " 둘중 무개가 무거운쪽이 무개가 다른 하나이 다!!" } 4.4.2) else { /* ㄷ,ㅁ중에 하나 */ 4.4.2.1) ㅁ과 9를 저울질한다. 4.4.2.2) if(무개가 같으면) "ㄷ이 무개가 다른 하나이다!!" 4.4.2.3) else " ㅁ이 무개가 다른 하나이다!!" } } } /* 이상의 과정에서 잘생각해보면 무개가 다른하나의 무개가 다른것들에 비해 가벼운지 무거운지도 구별이 가능하다. */ 무더운 여름 흥미 있는 문제로 잠시나마 더위를 잊게 해주신 fancy님께 감사를... |