Archive for 5월, 2009

노무현 전 대통령 서거에 관한 생각

5월 24th, 2009

이 소식을 처음 들었을 때는 참으로 어처구니 없다는 생각밖에 안들었지만 좀 더 천천히 생각해보니 그럴만 하니까 그랬구나 하는 생각이 들었다. 그는 한 평생을 단 한 번도 자신의 뜻을 굽히지 않고 살아온 사람이었다. 꺾일지언정 굽히지는 않는다는 말이 딱 들어맞는 사람이었고, 엄청난 수모와 배신에 끝까지 버티다가 이렇게 꺾여져 간 것 같다. 결국 정말 너무나 노무현다운 선택이 아니었나 싶다. 하지만 여전히 좀 더 곁에 있었으면 하는 바람을 지울 수 없다. 어쨌든 간에 노무현은 한국 역사에서 가장 훌륭한 지도자였던 사람이었으며 영원히 사람들에게 기억될 것이다.

피타고라스의 창 >> 타자 타율이 0.334면, 타자는 최소 287타수가 필요하다는 사실의 증명

5월 15th, 2009

피타고라스의 창 >> 타자 타율이 0.334면, 타자는 최소 287타수가 필요하다는 사실의 증명.

재밌는 문제가 보여서 풀어보았다.

타자 타율이 0.334면, 타자는 최소 몇 타석이 필요한가? (TAOCP에 나온 문제라고 함)

a타수 b안타의 타율이 b/a이므로, 반올림 해서 0.334의 타율이 되려면, a와 b가 0.334 <= b/a < 0.3345를 만족해야 한다. 이를 만족하는 최소 자연수 a를 찾으면 된다.

아래는 Ocaml 코드.

  1. let c1 = 1000.0 /. 334.0 in
  2. let c2 = 10000.0 /. 3345.0 in
  3. let rec range i j = if i > j then [] else i :: (range (i+1) j) in
  4. let min_int_between i1 i2 =
  5. let minv,maxv = min i1 i2, max i1 i2 in
  6. match compare minv maxv with
  7. -1 -> if maxv - minv > 1 then Some (minv+1) else None
  8. |    _ -> None
  9. in
  10. let hit a b = (float b) /. (|>float a) in
  11. let blist = range 0 200 in
  12. let aoptlist = List.map (fun b ->
  13. let f1,f2 = c1 *. (|>float b), c2 *. (|>float b) in
  14. let i1,i2 = (truncate (ceil f1)), (truncate f2) in
  15. (b,min_int_between i1 i2)) blist
  16. in
  17. List.iter (fun (b,aopt) ->
  18. match aopt with
  19. None -> ()
  20. | Some a -> Printf.printf "%d/%d %f\n" b a (hit a b)) aoptlist;;

아래는 결과.

96/287 0.334495
97/290 0.334483
98/293 0.334471
99/296 0.334459
100/299 0.334448

즉, 적어도 287타수는 해야 0.334의 타율을 얻을 수 있다. 저 블로그의 내용을 보면 연분수 전개라는 방법이 있다는데 뭔지는 모르겠다. 아예 이름이 생소한데, 학교에서 배운 적은 없는 것 같다..

Castle in the Air

5월 3rd, 2009

두어 달 정도 끌어온 Diana Wynne Jones의 판타지 소설 `Castle in the Air‘(이하 CitA)를 이제서야 다 읽었다. 먼젓번에 읽었던 `Howl’s Moving Castle‘(이하 HMC)이 워낙 재밌고 생각보다 술술 읽혀져서 그 후속작인 CitA를 주저치 않고 샀는데 역시 날 실망시키지 않았다. 처음에 주인공 이름이 압둘라이고 배경이 아랍쪽 나라 비슷한 곳에서 시작하길래, HMC와 그냥 느낌만 비슷한 판타지라고 생각했던 생각은 글 후반부에 가서 크게 무너져버리고 말았다. 게다가 HMC에서의 반전에서 느꼈던 것과 비슷한 느낌의 깜찍한 반전 역시 같은 작가의 후속작임을 잘 드러내주고 있는 것 같다. 엉뚱한 꿈을 꾸고 허둥지둥하지만 나름대로 용감하고 친절한 압둘라와 세상 물정을 잘 모르지만 너무나 아름답고 똑똑하고 사려깊은 Flower-in-the-Night는 정말 잘 어울리는 한 쌍이다. 그리고 소피, 하울과 캘시퍼도 이젠 친숙해서 친구같다는 느낌까지 들어, 이야기가 끝난 게 매우 아쉽다. 허황되지만 코믹하고 순수한 이야기가 어린이들에게 상상의 나래를 펼치게 해주는 내용이지만 나도 간만에 무척 즐거운 꿈을 꾼 것 같다. :)

책을 읽은 기간동안 내게 준 행복감을 정량적으로 따진다면 CitA에게 더 나은 점수를 줄 수 있을 것 같은데, 사실상 HMC의 배경이 없이 CitA가 존재하는 것은 말이 안되기 때문에 재미를 비교할 수는 없을 것 같다. 결국은 두 작품 모두 읽으라는 뜻.

단점이라면 너무 생소한 단어들이 많아서 조금 읽기 힘든 경우가 많았다는 것이다. 대부분 그냥 지나치거나 적당히 유추해 읽어도 이야기 이해에 큰 문제 없는 단어들이지만, 그래도 내가 어린이용 소설을 읽으면서 쩔쩔매나 하는 생각이 들곤 했다. :(

이 글을 쓰면서 이 시리즈의 세 번째 책 `House of Many Ways‘이 나왔다는 걸 알았다. 2008년에 나와서 출간한지 1년도 되지 않은 아직 상당히 따끈따끈한 책이다. 근데 그 따끈함에 걸맞게 다른 책들에 비해 가격도 두 배다. HMC가 1986년, CitA가 1990년에 나왔는데 그 후속편이 18년만에 나오다니. 허허. 아무래도 HMC의 애니메이션이 나온 뒤 팬들의 독촉이 심해지고 (아마 본인의 손자,손녀들이 그 장본인일 가능성도 크다) 예전에 적당히 구상해 뒀던 걸 꺼내서 써낸 게 아닌가 싶다(물론 순전히 나의 상상이다). 사연이 어찌 됐든 독자로서는 무척 즐거운 일임에 틀림 없다. 어쨌거나 책 제목만 보면 다시 하울과 그 일당이 나올 것 같은데 상당히 궁금하다. 아무래도 어린이날 선물로 내게 사줘야겠다. :)