この冬は寒い日が続きますが、1月の下旬に温かい日が何日かありました。家に閉じこもっていても仕方がないので、娘を連れて出かけました。
昼食にパンを買って、公園のベンチに座ってパンを食べているとハトが寄ってきました。パンくずを投げると更に寄ってきます。ハトにパンくずを投げて遊んでいると、隣りに座ってパンを食べていた娘が叫びました。
何事かと娘の方を見ると、ハトが娘の腕にとまって娘のパンをつついています。
私は拳を握りしめパンチを放ったところ、予想に反してハトに当たりました\(^o^)/
もしかして、天才かも\(^o^)/
感触はゴムボールの様で、「ボコッ」という音がしました。ハトの中身が空っぽということがよく分かりました。
こんなオッサンのパンチが当たるようでは、ハトのこの先が思いやられます(~_~;)
2014年2月16日日曜日
2014年2月15日土曜日
人形劇「狼と7匹の子ヤギ」に対する子どもたちの反応
2月2日(日)に娘を連れて人形劇団クラルテによる人形劇を見せに行きました。娘はまだ2歳6ヶ月なので、内容はよく分からないかもしれませんが、楽しんでくれるものと期待していきました。観に来ていたのは、3歳から7歳ぐらいの子供たちでした。
演目は、「瓜子姫とあまんじゃく」と「狼と7匹の子ヤギ」の2つでした。「瓜子姫」については、私の筆力でダラダラ説明しても仕方がないので省略します。
「狼と7匹の子ヤギ」は、母親ヤギが出かけているスキに、狼が母親ヤギになりすまして子ヤギたちを騙し、家の中に入ろうとします。それを見た子どもたちは立ち上がって叫びました。「それは狼や!」
子供は純真です。しかし、狼が家の中に入らないと話が先に進みません。大人の事情のため、子どもたちの叫びは無視されます。
狼が家の中に入って、子ヤギたちを食べ始めます。再び、子どもたちは立ち上がって叫びます。「時計の中に隠れとる!!」
どっちの味方や\(^o^)/
演目は、「瓜子姫とあまんじゃく」と「狼と7匹の子ヤギ」の2つでした。「瓜子姫」については、私の筆力でダラダラ説明しても仕方がないので省略します。
「狼と7匹の子ヤギ」は、母親ヤギが出かけているスキに、狼が母親ヤギになりすまして子ヤギたちを騙し、家の中に入ろうとします。それを見た子どもたちは立ち上がって叫びました。「それは狼や!」
子供は純真です。しかし、狼が家の中に入らないと話が先に進みません。大人の事情のため、子どもたちの叫びは無視されます。
狼が家の中に入って、子ヤギたちを食べ始めます。再び、子どもたちは立ち上がって叫びます。「時計の中に隠れとる!!」
どっちの味方や\(^o^)/
2013年12月20日金曜日
テレビを見ていない子供は珍しい
12月に入ってから、娘を保育園へ入れました。妻は専業主婦をしているのですが、次の2つの理由から保育園へ入れることにしました。
- 娘は同じぐらいの歳の子供と遊ぶのが大好き\(^o^)/
- 妻も仕事を始める準備のため時間が欲しい。
つまり、手に負えないということです(~_~;)
保育園へ通い始めた最初の週は泣いたりしたそうですが、2週目からは慣れたみたいで楽しく遊んでいるようです。
妻が娘を迎えに行くと保育園の園長と話す機会があるのですが、娘は他の子供と行動パターンが違うそうです。
要因の一つとして、娘にテレビを見せていない事がありそうで、妻がその事を園長に話すとかなり驚いたようで、テレビを観ていない子供が入ってくるのは20年ぶりとのことです。
園長の話では、20年前にテレビを見ていなかった子供は、かなり優秀だったようです。保育園児で優秀と言われても実感がわきませんが(^o^)
とにかく、印象に残っていることに間違いなさそうです。保育園としても、良く観察したいとのことです。
モルモットか\(^o^)/
2013年12月11日水曜日
公園で園児たちと遊ぶ
12月7日(土)の午前中に娘を歩いて30分ぐらいの場所にあるO公園へ連れて行きました。その公園は広いのですが、子供用の遊具がブランコと滑り台程度と少ないので、すぐに飽きてくれるだろうとの思惑もありました。
しかし、しばらく遊ばせていると、近くの保育園から園児の団体が遊びに来てしまいました。娘は、その子どもたちに混じって遊び始め、私の思惑は外れました。
園児たちは、1時間ほど遊ぶと保育園へ帰り支度を始め、並んで歩き始めました。娘もその列に混じり、一緒に保育園へ行こうとします。今日、少し遊ばせてもらっただけなのに、いきなり馴染んでいます。
仕方がないので、保育園まで一緒に歩かせましたが、保育園の前でお別れです。その後が大騒ぎ。園児たちとまだまだ遊びたかったようですが、まだ2歳なので保育園の中に入れてもらえないことが分からず、泣き叫ぶ娘を抱えて帰りました。
2013年12月10日火曜日
素数の音楽
素数の出現頻度に関するリーマン予想を中心に、素数についての話題やリーマン予想の証明に取組んだ数学者について、数学に馴染みの薄い読者向けに書かれた本です。
その中で、特に印象に残った話題を紹介します。
我々の足元にある大地は円盤状の形状をしており、巨大な亀の上に乗った4頭の象に支えられていることは、皆さんご存知のことと思います。
しかし、ここで一つの疑問が湧いてきます。その亀の下には何があるのか?何も無いなら、大地は落下してしまいます。これでは安心して眠ることもできません。
この疑問に「素数の音楽」は答えてくれました。亀の下には亀がいるのです。その亀の下にも亀がいます。つまり、亀が積み重なって大地を支えているのです\(^o^)/
残念ながら、亀の下には必ず亀がいるので、人間が一番下の亀に到達することはできません。
2013年8月11日日曜日
[Project Euler] Problem 18 「最大経路の和 その1」
以下の三角形の頂点から下まで移動するとき, その数値の和の最大値は23になる.
以下の三角形を頂点から下まで移動するとき, その最大の和を求めよ.
注: ここではたかだか 16384 通りのルートしかないので, すべてのパターンを試すこともできる. Problem 67 は同じ問題だが100行あるので, 総当りでは解けない. もっと賢い方法が必要である.
3
7 4
2 4 6
8 5 9 3
この例では 3 + 7 + 4 + 9 = 23.7 4
2 4 6
8 5 9 3
以下の三角形を頂点から下まで移動するとき, その最大の和を求めよ.
75
95 64
17 47 82
18 35 87 10
20 04 82 47 65
19 01 23 75 03 34
88 02 77 73 07 63 67
99 65 04 28 06 16 70 92
41 41 26 56 83 40 80 70 33
41 48 72 33 47 32 37 16 94 29
53 71 44 65 25 43 91 52 97 51 14
70 11 33 28 77 73 17 78 39 68 17 57
91 71 52 38 17 14 91 43 58 50 27 29 48
63 66 04 68 89 53 67 30 73 16 69 87 40 31
04 62 98 27 23 09 70 98 73 93 38 53 60 04 23
95 64
17 47 82
18 35 87 10
20 04 82 47 65
19 01 23 75 03 34
88 02 77 73 07 63 67
99 65 04 28 06 16 70 92
41 41 26 56 83 40 80 70 33
41 48 72 33 47 32 37 16 94 29
53 71 44 65 25 43 91 52 97 51 14
70 11 33 28 77 73 17 78 39 68 17 57
91 71 52 38 17 14 91 43 58 50 27 29 48
63 66 04 68 89 53 67 30 73 16 69 87 40 31
04 62 98 27 23 09 70 98 73 93 38 53 60 04 23
注: ここではたかだか 16384 通りのルートしかないので, すべてのパターンを試すこともできる. Problem 67 は同じ問題だが100行あるので, 総当りでは解けない. もっと賢い方法が必要である.
下から順番に足していけば経路が求まりそうです.
- 例の下から2段目を考える.
- 左端の2からたどり着ける数は8と5であり, 大きい方の8を取る.
- 左端の2を8との和10に置き換える.
- 同様にして4を13, 6を15に置き換える.
- この操作を上に向けて続けると23を得る.
この操作を手続として定義すると次のようになります.
(require srfi/1)
(define (front lst)
(reverse (cdr (reverse lst))))
(define (sum-row upper lower)
(map (lambda (u l1 l2)
(+ u (if (< l1 l2) l2 l1)))
upper
(cdr lower)
(front lower)))
(define data '((75)
(95 64)
(17 47 82)
(18 35 87 10)
(20 04 82 47 65)
(19 01 23 75 03 34)
(88 02 77 73 07 63 67)
(99 65 04 28 06 16 70 92)
(41 41 26 56 83 40 80 70 33)
(41 48 72 33 47 32 37 16 94 29)
(53 71 44 65 25 43 91 52 97 51 14)
(70 11 33 28 77 73 17 78 39 68 17 57)
(91 71 52 38 17 14 91 43 58 50 27 29 48)
(63 66 04 68 89 53 67 30 73 16 69 87 40 31)
(04 62 98 27 23 09 70 98 73 93 38 53 60 04 23)))
(define (loop lower rest)
(display lower)
(newline)
(if (null? rest)
lower
(loop (sum-row (car rest) lower) (cdr rest))))
計算してみます.
ようこそ DrRacket, バージョン 5.3.3 [3m].
言語: Pretty Big; memory limit: 512 MB.
> (loop (car (reverse data))
(cdr (reverse data)))
(4 62 98 27 23 9 70 98 73 93 38 53 60 4 23)
(125 164 102 95 112 123 165 128 166 109 122 147 100 54)
(255 235 154 150 140 179 256 209 224 172 174 176 148)
(325 246 187 178 256 329 273 302 263 242 193 233)
(378 317 231 321 354 372 393 354 360 293 247)
(419 365 393 387 419 425 430 376 454 322)
(460 434 419 475 508 470 510 524 487)
(559 499 479 536 514 526 594 616)
(647 501 613 609 533 657 683)
(666 614 636 684 660 717)
(686 640 766 731 782)
(704 801 853 792)
(818 900 935)
(995 999)
(1074)
(1074)
>
2013年8月10日土曜日
[Project Euler] Problem 17 「数字の文字数」
1 から 5 までの数字を英単語で書けば one, two, three, four, five であり, 全部で 3 + 3 + 5 + 4 + 4 = 19 の文字が使われている.
では 1 から 1000 (one thousand) までの数字をすべて英単語で書けば, 全部で何文字になるか.
注: 空白文字やハイフンを数えないこと. 例えば, 342 (three hundred and forty-two) は 23 文字, 115 (one hundred and fifteen) は20文字と数える. なお, "and" を使用するのは英国の慣習.
では 1 から 1000 (one thousand) までの数字をすべて英単語で書けば, 全部で何文字になるか.
注: 空白文字やハイフンを数えないこと. 例えば, 342 (three hundred and forty-two) は 23 文字, 115 (one hundred and fifteen) は20文字と数える. なお, "and" を使用するのは英国の慣習.
数を英単語に置き換える手続きがあれば解けそうです.
空白やハイフンを数えないことになってるので, 英単語は文字列のリストとして表現します.
- 数を英単語に置き換える.
- 文字列を文字のリストに変換する.
- 文字の総数を求める.
手続きは次のようになります.
(require srfi/1)
(define (nbr-to-word n)
(define (loop nbr)
(cond ((= nbr 1) (list "one"))
((= nbr 2) (list "two"))
((= nbr 3) (list "three"))
((= nbr 4) (list "four"))
((= nbr 5) (list "five"))
((= nbr 6) (list "six"))
((= nbr 7) (list "seven"))
((= nbr 8) (list "eight"))
((= nbr 9) (list "nine"))
((= nbr 10) (list "ten"))
((= nbr 11) (list "eleven"))
((= nbr 12) (list "twelve"))
((= nbr 13) (list "thirteen"))
((= nbr 14) (list "fourteen"))
((= nbr 15) (list "fifteen"))
((= nbr 16) (list "sixteen"))
((= nbr 17) (list "seventeen"))
((= nbr 18) (list "eighteen"))
((= nbr 19) (list "nineteen"))
((= nbr 20) (list "twenty"))
((= nbr 30) (list "thirty"))
((= nbr 40) (list "forty"))
((= nbr 50) (list "fifty"))
((= nbr 60) (list "sixty"))
((= nbr 70) (list "seventy"))
((= nbr 80) (list "eighty"))
((= nbr 90) (list "ninety"))
((= nbr 1000) (list "one" "thousand"))
((and (>= nbr 100) (= (remainder nbr 100) 0))
(append (loop (quotient nbr 100)) (list "hundred")))
((>= nbr 100)
(append (loop (quotient nbr 100))
(list "hundred" "and")
(loop (remainder nbr 100))))
((>= nbr 21)
(append (loop (* (quotient nbr 10) 10))
(loop (remainder nbr 10))))))
(loop n))
(define (word-length word)
(length (apply append (map string->list word))))
計算してみます.
ようこそ DrRacket, バージョン 5.3.3 [3m].
言語: Pretty Big; memory limit: 512 MB.
> (map nbr-to-word (iota 150 1))
(("one")
("two")
("three")
("four")
("five")
("six")
("seven")
("eight")
("nine")
("ten")
("eleven")
("twelve")
("thirteen")
("fourteen")
("fifteen")
("sixteen")
("seventeen")
("eighteen")
("nineteen")
("twenty")
("twenty" "one")
("twenty" "two")
... 省略 ...
("ninety" "six")
("ninety" "seven")
("ninety" "eight")
("ninety" "nine")
("one" "hundred")
("one" "hundred" "and" "one")
("one" "hundred" "and" "two")
("one" "hundred" "and" "three")
("one" "hundred" "and" "four")
... 省略 ...
("one" "hundred" "and" "forty" "seven")
("one" "hundred" "and" "forty" "eight")
("one" "hundred" "and" "forty" "nine")
("one" "hundred" "and" "fifty"))
> (fold + 0 (map word-length (map nbr-to-word (iota 1000 1))))
21124
>
登録:
投稿 (Atom)