吉川 マサル |
スミマセン、実は検証不足の問題です...。
ちょっと外せない飲み会が急に入って、やや急いで作成しましたので、検証が不足しています..。しかも、ちょっと検証が不足しているので、間違いの可能性が...。一応、数回やってみましたが、見落としがあったら..という状態です。m(__)m |
PowerBook
1月17日(木) 0:07:42
MAIL:masaru-y@sansu.org HomePage:Men @ Work 31432 |
Taro |
#31432
大丈夫でしょう 一応プログラム組みました。 はじめは4294967296通り全チェックしようと思いましたがなんとか工夫しました(^^;) |
1月17日(木) 0:39:09
31433 |
すぐる学習会 |
すいません、塾教師なのにプログラムを作ってやってしまいました…。懺悔です。
16個のマスをすべて0から3まで動かして,たて4列横4列とも3になったらカウントするという方式で…。 そういうことなので,プログラムバグがない限り答えは合っていると思います。それにしても,答えが今年の西暦とは…。すごいですね。 |
1月17日(木) 0:41:41
MAIL:kishimotoakihisa@hotmail.com 31434 |
ちゃーみー |
巧妙に数値設定されていて答えが今年の西暦,というのではなくて
これだけ自然な設定だというのが驚きです。 手計算で一発であたったのは運がよかったかな。 |
とうきょうとめぐろく
1月17日(木) 0:44:39
MAIL:ojamaru@amber.plala.or.jp 31435 |
数楽者 |
名前が出てこなかったので、何度も解答を送ってしまいました。
結局、最初の解答で合っていたようです。 3の数と2の数による場合分けで数え上げました。 何度計算しても数え落しがあるような気がします。 |
横浜
1月17日(木) 0:48:35
MAIL:iida@ae.keio.ac.jp 31436 |
ヤッコチャ |
後で使わない数字もあっていいことに気づいて、四苦八苦です。
でも答えがこんな数になるなんて。 |
1月17日(木) 1:09:08
31437 |
banyanyan |
ようやく入ることができました。
参りました。2時間もかかったお馬鹿ですorz。 しかし、解き方がわからない。誰かご教授下さいm(__)m。 |
1月17日(木) 1:56:06
HomePage:明るい家族計画−算数 31438 |
はなう |
プログラムだけは組むまいと、1時間半格闘。。。。。。
10回以上間違いを送り、答えが、いやあーーこれか!!!!びっくり!!感動しました 数楽者さんと同じで場合わけで意地で算数で解きました。 3の数、2の数を[4,0]とかと表現すると [4,0]のとき 24通り [3,*]のとき できません [2,*]のとき [2,2]のみできて、144通り [1,*]のとき [1,0]が16通り [1,3]が192通り [1,2]が288通り [1,1]が576通り [0,*]のとき [0,0]が24通り [0,1]が144通り [0,2]が288通り [0,3]が96通り [0,4]が216通り で、足すとなんと2008!すごいー |
1月17日(木) 2:15:49
31439 |
miki |
A(3 0 0 0), B(1 1 1 0), C(1 2 0 0)を組み合わせて、
AAAA, AACC, ABBB, ACCC, ABCC, BBBB, CCCC, BBCC の8パターンに 場合分けして、地道にやりました。 要はしらみつぶし。 何回か前の、総当たり戦の問題に似てますね。 |
1月17日(木) 2:18:42
31440 |
エルク |
何度やっても掲示板に入れず、
間違いを訂正しては確認の繰り返し… この答えが出た瞬間。この数字は… 今度こそ正解だと確信した(笑 はなうさんのと同じ解法です これって簡単に計算できる手はないのか… |
1月17日(木) 2:18:59
HomePage:エルク 31441 |
ダンディ海野 |
方法がまずいのか場合わけが多く、間違いまくりました。
次のような場合わけでしました。 (3,2,1の個数を場合分けした後、それぞれの場合「3の配置の仕方の数 →2の配置の仕方の数→1の配置の数」を順に求め、その積を出していきました。) (1) 3が4つ入る・・・・・4!=24 (通り) (2) 3が2つ入る(2が2つ,1が2つ)・・・・・72*2=144(通り) (3) 3が1つ入る(2が3つ・・192、2が2つ・・288、1のみ・・16) 192+288+16=496(通り) [以下、3は入らない。2以外は0,1] (4) 2が4つ入る・・4!*9=216(通り) (5) 2が3つ入る・・96*7=672(通り) (6) 2が2つ入る・・72*4=288(通り) (7) 2が1つ入る・・16*9=144(通り) (8) 1のみはいる(0が4つ。0の配置で数える)・・4!=24(通り) よって、24+144+496+216+672+288+144+24=2008(通り) (驚き1)16マスで 0,1,2,3 だけを使って、こんな大きな数になるとは驚きです。 (驚き2)2008年の2008が答えになるように、よくもこの問題を作り上げたものですね。 |
1月17日(木) 9:32:57
MAIL:cacrh525@hcn.zaq.ne.jp 31442 |
doba |
たとえば、何十年も前にこの問題を作ってみて、結果の数字を見て、
2008年に出そうと思って暖めていた... とかいう状況でも考えないかぎり、これをここで出題できたミラクルの説明がつきませぬ。 少なくとも、答えから逆算して作れる問題ではない気が...。すんごいです。 #31440 mikiさん 他に、BCCCとBBBCもあるので、10パターンですね。 さらに、BCCCとCCCCの中には、列のみ、行のみの入れ替えで同一と見なせないパターンが それぞれ2種類あるので、 それらを区別して、計12種類について、私も地道に計算しました。 #31439 はなうさん [1,1]はできませんよね。 数字を見ると、多分それは[0,3]のバリエーションですね。 [0,3]は大きく2パターンあって、その1つが96通り、もう1つが576通りでした。 |
1月17日(木) 3:00:41
31443 |
はなう |
#31443 そうですね!まちがえてました!すいませんー。[0,3]が672ですね! |
1月17日(木) 3:04:53
31444 |
CRYING DOLPHIN |
excelで整理して数えたら1928になってしまいました。
それからどうやってここに入ったのかは…ゴニョゴニョ どこで数え間違えたのかもう一度検証してから送信します。 算チャレの歴史に残る難問の予感。 |
ラクガキ王国
1月17日(木) 12:02:33
HomePage:算数とか隧道とか 31445 |
miki |
#31443 その通りです。すいません。。
実は一度解いていた紙を、一時頃あきらめて破って捨ててしまったのです。 その後、二時頃に、就寝直前で、場合分けに漏れがあることに気づき、 答えを出すと「2008」になり、少し自信がでました。 いずれにせよ、感動しました。まさに奇問。 |
1月17日(木) 12:41:53
31446 |
ゴンとも |
以下の十進basicでごく簡単なプログラムで
2008個を列挙するも 最初kとhを間違え804個でそのミスを見つけるのに ひどく時間がかかりました。 FOR a=0 TO 3 FOR b=0 TO 3 FOR c=0 TO 3 FOR d=0 TO 3 if a+b+c+d<>3 then goto 130 FOR e=0 TO 3 FOR f=0 TO 3 FOR g=0 TO 3 FOR h=0 TO 3 if e+f+g+h<>3 then goto 90 FOR i=0 TO 3 FOR j=0 TO 3 FOR k=0 TO 3 FOR l=0 TO 3 if i+j+k+l<>3 then goto 50 FOR m=0 TO 3 if a+e+i+m<>3 then goto 40 FOR n=0 TO 3 if b+f+j+n<>3 then goto 30 FOR o=0 TO 3 if c+g+k+o<>3 then goto 20 FOR p=0 TO 3 if m+n+o+p<>3 or d+h+l+p<>3 then goto 10 PRINT a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p 10 NEXT p 20 NEXT o 30 NEXT n 40 NEXT m 50 NEXT l 60 NEXT k 70 NEXT j 80 NEXT i 90 NEXT h 100 NEXT g 110 NEXT f 120 NEXT e 130 NEXT d 140 NEXT c 150 NEXT b 160 NEXT a END |
豊川市
1月17日(木) 12:45:46
MAIL:fttnm528@ybb.ne.jp 31447 |
uchinyan |
はい、こんにちは。さて、今回の問題は...
今日は朝から忙しく、今問題を見たのですが、頭の中で考えると場合分けの嵐になりそうで、しかもかなりしんどそう... 時間もないし、うまい解法が思いつかなかったので、プログラムを組んでしまいました。ごめんなさい。 しかし、2008 とは、参りました (^^; |
ネコの住む家
1月17日(木) 13:09:37
MAIL:uchi@sco.bekkoame.ne.jp 31448 |
はなう |
僕は、数列になると一般化しなくては気がすまないのですが、
やってみようとしたら難しすぎて途中で放棄(笑) #31439を5×5でやってみました http://hanau.img.jugem.jp/20080117_459786.png ↑ここまでわかりましたが、もう無理(笑)頭がパンクしました。 何気に[0,0]が難しいことがわかり萎えました |
1月17日(木) 13:23:25
31449 |
吉川 マサル |
えと、白状します..。
答えが2008になったのは全くの偶然で、しかも出題時には数え間違い(パターン抜け)をしていて、違う答えを想定していました。(そんなわけで順位表が表示されるのが遅くなりました)飲み屋でPowerBookを取り出し、同席していた武田さんに即席で作ってもらったプログラムを走らせ、想定していた答えが違っていたことを確認しました。しかし、2008とは私もビックリしました。 |
PowerBook
1月17日(木) 13:37:38
MAIL:masaru-y@sansu.org HomePage:Men @ Work 31450 |
banyanyan |
#31449
見つけました。これではないでしょうか。 http://www.research.att.com/~njas/sequences/A001500 #31450 しかし偶然2008になるんてことがあるんですね。不思議( ̄ヘ ̄;)ウーン。 |
1月17日(木) 14:12:53
HomePage:明るい家族計画−算数 31452 |
はなう |
#31452 あるんですね!ありがとうございます!
しかも、ちゃんと合計3になる非不のマトリックスって書いてありますね。有名だとはとても思えませんが、過去にこれを考えた人が少なくともいるとは。。世の中広いですね |
1月17日(木) 14:34:06
31453 |
banyanyan |
#31453
見つけたのはいいのですが、式の意味がさっぱりわかりませんorz。 結局場合分けして調べるしか方法はないんですかねえ。 腑に落ちるすっきりした解き方を期待していたんですが……。 今朝起きてから私も確認のためExcelVBAでプログラム組んでみました。 時間計測したら0ミリ秒で2008と出てきて、2時間もかかって手が痛くなるほど調べた自分にがっかりorz。 Sub test() Dim a As Integer Dim b As Integer Dim c As Integer Dim d As Integer Dim e As Integer Dim f As Integer Dim g As Integer Dim h As Integer Dim i As Integer Dim j As Integer Dim k As Integer Dim l As Integer Dim m As Integer Dim n As Integer Dim o As Integer Dim p As Integer Dim t As Integer Dim sTime As Date Dim eTime As Date sTime = Time t = 0 For a = 0 To 3 For b = 0 To 3 - a For c = 0 To 3 - a - b For d = 0 To 3 - a - b - c If a + b + c + d = 3 Then For e = 0 To 3 For f = 0 To 3 - e For g = 0 To 3 - e - f For h = 0 To 3 - e - f - g If e + f + g + h = 3 Then For i = 0 To 3 For j = 0 To 3 - i For k = 0 To 3 - i - j For l = 0 To 3 - i - j - k If i + j + k + l = 3 Then m = 3 - a - e - i n = 3 - b - f - j o = 3 - c - g - k p = 3 - d - h - l If m >= 0 And n >= 0 And o >= 0 And p >= 0 And m + n + o + p = 3 Then t = t + 1 End If Next l Next k Next j Next i End If Next h Next g Next f Next e End If Next d Next c Next b Next a eTime = Time MsgBox t & Chr(13) & (eTime - sTime) * 24 * 60 * 60 * 1000 & "ミリ秒" End Sub |
1月17日(木) 16:49:20
HomePage:明るい家族計画−算数 31454 |
ハラギャーテイ |
プログラムです。
正解が出てよかった。 2008は今年の年号でした。 |
山口
1月17日(木) 17:22:22
HomePage:制御工学にチャレンジ 31455 |
uchinyan |
やっと掲示板を読みました。
やはり,皆さん,場合分けして地道に数え上げるか,プログラムのようですね。 ちなみに,私が頭の中で考えていた解法は,ダンディ海野さんの#31442と同じです。3が入らない場合の途中でこんがらがってしまいました (^^; それと,プログラムは,十進ベーシックですが,banyanyanさんの#31454とほぼ同じです。 (ループをもう一塊増やして,一番内側のIfの辺りは単に和が3としました。若干無駄ですかねぇ。) なお, #31450 >答えが2008になったのは全くの偶然で、 というのは,驚きです。なにやら運命を感じたり...? #31452 例の数列サイトにあるとは,これまた驚きです。 何か数学的に意味があるのだろうか...?? |
ネコの住む家
1月17日(木) 17:43:02
MAIL:uchi@sco.bekkoame.ne.jp 31456 |
だいすけ |
「3」の枚数で場合わけして、地道に数えていきました。
午前0時に問題を見て午前0時40分までかかって答えを出したものの、間違っていたので一旦寝ました。そして朝の通学中に数え間違いを1箇所見つけ、午前中(もちろん授業中)に3箇所見つけて昼休みに答えを送りました。この問題は、答えが出ればそれが正解だと分かるのでいいですね。 先週の問題は解けなかったけど、今回はなんとか解けてよかったです。 |
大阪府
1月17日(木) 19:16:01
MAIL:daisuke18@sb.dcns.ne.jp HomePage:だいすけの部屋 31457 |
abcba |
今回の問題で0からNまでの整数で(N+1)×(N+1)の枠に記入する場合を考えると、1,1...1,0の組み合わせ(1がN個、0が1個で和がN+1になるという意味です。)がN個、その他の組み合わせが1個のものは枠に記入する場合の数は
(N+1)の(N+1)乗-(N+1)×(N+1)!通りです。 そして、2以上の正の整数kに対して、1,1...1,0の組み合わせが(N-k)個の場合は 枠に記入する全場合の数は(N+1)_C_K(二項係数)の倍数になります。 一方、0,0,.....(0が2個以上で和がNである組み合わせ)における枠に記入する場合の数は0に注目するとやはり、(N+1)_C_K’(k'は2以上の任意の正の整数)の倍数になります。 0がN個ある場合はn,0,....0で枠に記入する全場合の数は(N+1)!通りでNの倍数である。 故に、Nが素数の時、全パターン(今回の問題でいう枠に記入する全ての場合の数P(N)に対して P(N)≡1(mod N)が成り立ちます。 本当はP(N)をNの式で表す事を目標にしていたのですがNの分割数等を考えなければならないので複雑な式になりそうだという事しか理解していません。 時間があればやってみたいです。 |
1月17日(木) 20:48:25
31458 |
ゴンとも |
#31454
エクセル(2007だけでなく)使用目2回目(1回目は起動して2分で終わり だったような・・・) でした。ExcelVBAを起動できないのでネットで検索して1時間ぐらいで デフォルトでない[開発] タブを表示させなければならない事がわかり やっと画面でてきてコピペして実行させました。 正式版のエクセルなのでいつか使いたいと思ってましたが ちゃんと使ったの今回が初めてでプログラムだったのでよかったです。 >0ミリ秒で2008 本当に実行を押したと同時にでておおっと思いました。 これから自分の #31447 のプログラムを少し変えて2008だけでるようにして 時間とか測ってみたいところですが時間を図るコマンドもわからないので たぶんできないと思います。 |
豊川市
1月17日(木) 21:30:53
MAIL:fttnm528@ybb.ne.jp 31459 |
banyanyan |
#31459
時間の計測にミスはなかったと思います。 念のため各変数をシートのセルに代入するプログラムに変更して 走らせてみると15〜20秒くらいかかりました。 |
1月18日(金) 0:00:59
HomePage:明るい家族計画−算数 31460 |
すぐる学習会 |
十進BASICやエクセルを使ってもできますが,
せっかくインターネットを使っているのですから,Javascriptでプログラムしてみては…。 以下をメモ帳に貼り付け,"sansu.html"などとファイル名をつけてダブルクリックすれば,正解が出てきます。 <!--ここから--> <html> <body> <script type="text/javascript"> c = 0; for(i0=0; i0 < 4; ++i0){ for(i1=0; i1 < 4; ++i1){ for(i2=0; i2 < 4; ++i2){ for(i3=0; i3 < 4; ++i3){ if(i0 + i1 + i2 + i3 == 3){ for(i4=0; i4 < 4; ++i4){ for(i5=0; i5 < 4; ++i5){ for(i6=0; i6 < 4; ++i6){ for(i7=0; i7 < 4; ++i7){ if(i4+i5+i6+i7 == 3){ for(i8=0; i8 < 4; ++i8){ for(i9=0; i9 < 4; ++i9){ for(i10=0; i10 < 4; ++i10){ for(i11=0; i11 < 4; ++i11){ if(i8+i9+i10+i11 == 3){ for(i12=0; i12 < 4; ++i12){ if(i0 + i4 + i8 + i12 == 3){ for(i13=0; i13 < 4; ++i13){ if(i1 + i5 + i9 + i13 == 3){ for(i14=0; i14 < 4; ++i14){ if(i2 + i6 + i10 + i14 == 3){ for(i15=0; i15 < 4; ++i15){ if(i12+i13+i14+i15 == 3){ if(i3+i7+i11+i15==3){ ++c; }}}}}}}}}}}}}}}}}}}}}}}} document.write("答えは," + c + "通りです。"); </script> </body> </html> <!--ここまで--> |
1月18日(金) 0:47:10
MAIL:kishimotoakihisa@hotmail.com 31461 |