リョウフフ |
フィボナッチまではわかってその2つ前の項を見るのはわかったのに1つ前の項を答えてしまった… 初の10位以内いけるかと思ったのに orz |
1月26日(木) 0:25:30
38867 |
M |
逆からの樹形図でなんとなくフィボナッチっぽいのは分かりました。
赤…A 白…B 青…C として BB←AB←AA,BC←AC,BB,AC←・・・ でスタート時の候補は AB(赤&白)が233 CC(青&青)が144 となりました。 |
第2グループ
1月26日(木) 0:28:06
HomePage:受付中 38868 |
Mr.ダンディ |
n回目までの総数を x[n]、そのうち2色の場合の数をa[n]、1色の場合の数をb[n] とすると
(x[n]=a[n]+b[n]) a[n+1]=a[n]+b[n]=x[n] b\[n+1]=a[n]=x[n-1] よって、x[n+1]=x[n]+x[n-1] となって、{x[n]}はフィボナッチ数列 赤1・白1からスタートしたとき、 (3m+1)回後に白・白〕となる場合の数=〔3m回後に赤1・白1となる場の数=x[3m-1] 13回後に白・白となるのは、フィボナッチ数列の x[11]=233 (通り) としました。 |
1月26日(木) 1:00:35
38869 |
abcba@baLLjugglermoka |
#38868
反対側から樹形図を書いていくとフィボナッチ数列の概念で考えると大幅に計算を省略できる事に気付き解けました。ただし、フィボナッチ数列に気付くのにかなり時間が掛かった事は言うまでもありませんが(^^;;; |
1月26日(木) 1:24:14
38870 |
doba |
袋の中の玉の色の組合せに次のように名前をつけます。(以下、色IDと呼びます)
白赤=a 赤青=b 青白=c 青青=A 白白=B 青青=C 1回の「作業」による袋の中身の可能な遷移パターンを調べると、以下のことがわかります。 (1) 大文字・小文字を度外視すると、色IDは必ず a→b→c→a→… の順に遷移する。 (2) 小文字からは、大文字・小文字のどちらにも遷移できるが、 大文字からは小文字にしか遷移しない。 この(2)は「大文字は連続しない」ということと同値です。 (1)より、遷移パターンを考える際は、大文字・小文字がどういう順に並ぶかだけを 気にすればよいことがわかります。 この問題では、0回遷移後が小文字(a)で、13回遷移後が大文字(B)であることがわかっており、 明らかに12回遷移後は小文字(a)です。 したがって、(2)を考慮すると、求めるパターン数は、 「『大』『小』の文字を全部で12個並べる順列のうち、『大』の文字が連続せず、最後の文字が『小』であるようなものの数」 と同じです。(1回遷移後から12回遷移後までの色IDの並びに対応します。) これは、実は 「長さ1のブロックと長さ2のブロックを並べて長さ12にする時の並べ方のパターン数」 とも同じです。(長さ1のブロックに「小」、長さ2のブロックに「大小」と書いてあると考えればよい。) いずれも、漸化式からフィボナッチ数が出てくる有名な問題ですね。 |
1月26日(木) 3:10:59
38871 |
kasama |
よくわからなかったので、次の行列で表して数式ソフトを使って13乗しました。
赤白 赤青 赤赤 白白 白青 青青 赤白 0 1 0 1 0 0 赤青 0 0 1 0 1 0 赤赤 1 0 0 0 0 0 白白 0 0 0 0 1 0 白青 1 0 0 0 0 1 青青 0 1 0 0 0 0 |
1月26日(木) 10:47:54
38872 |
通りすがり |
10進BASICなら、こうかなぁ〜
CALL fetch(0, "R", "W", count) PRINT count END EXTERNAL SUB fetch(n, a$, b$, count) IF n < 13 THEN IF a$ = "R" THEN CALL fetch(n+1, "W", b$, count) IF a$ = "W" THEN CALL fetch(n+1, "B", b$, count) IF a$ = "B" THEN CALL fetch(n+1, "R", b$, count) IF a$ <> b$ THEN IF b$ = "R" THEN CALL fetch(n+1, a$, "W", count) IF b$ = "W" THEN CALL fetch(n+1, a$, "B", count) IF b$ = "B" THEN CALL fetch(n+1, a$, "R", count) END IF ELSE IF a$ = "W" AND b$ = "W" THEN LET count = count+1 END IF END SUB |
1月26日(木) 10:45:38
38873 |
新参者 |
たて横高さ方向の道を書いて、最短の道順を求める方法で。
|
1月26日(木) 10:52:31
38874 |
uchinyan |
はい,こんにちは。さて,今回の問題は...
一応,地道に漸化式で解きましたが,ここまでやると数学っぽくなってしまいますね。 n 回目の作業の後での袋の中の二つの玉の色で,可能なのは,赤赤,赤白,赤青,白白,白青,青青,です。 そこで,これらの場合の数を,例えば,赤白ならば 赤白(n) 通り,などと書くことにします。 すると,赤 -> 白,白 -> 青,青 -> 赤,であって,出てくる玉の色の並びだけを考え,玉は区別しない,と思われるので, 赤赤(n+1) = 赤青(n) 赤白(n+1) = 赤赤(n) + 白青(n) 赤青(n+1) = 赤白(n) + 青青(n) 白白(n+1) = 赤白(n) 白青(n+1) = 赤青(n) + 白白(n) 青青(n+1) = 白青(n) 赤赤(0) = 0,赤白(0) = 1,赤青(0) = 0,白白(0) = 0,白青(0) = 0,青青(0) = 0 がいえます。そこで, 赤赤(1) = 0,赤白(1) = 0,赤青(1) = 1,白白(1) = 1,白青(1) = 0,青青(1) = 0 赤赤(2) = 1,赤白(2) = 0,赤青(2) = 0,白白(2) = 0,白青(2) = 2,青青(2) = 0 赤赤(3) = 0,赤白(3) = 3,赤青(3) = 0,白白(3) = 0,白青(3) = 0,青青(3) = 2 赤赤(4) = 0,赤白(4) = 0,赤青(4) = 5,白白(4) = 3,白青(4) = 0,青青(4) = 0 赤赤(5) = 5,赤白(5) = 0,赤青(5) = 0,白白(5) = 0,白青(5) = 8,青青(5) = 0 赤赤(6) = 0,赤白(6) = 13,赤青(6) = 0,白白(6) = 0,白青(6) = 0,青青(6) = 8 赤赤(7) = 0,赤白(7) = 0,赤青(7) = 21,白白(7) = 13,白青(7) = 0,青青(7) = 0 赤赤(8) = 21,赤白(8) = 0,赤青(8) = 0,白白(8) = 0,白青(8) = 34,青青(8) = 0 赤赤(9) = 0,赤白(9) = 55,赤青(9) = 0,白白(9) = 0,白青(9) = 0,青青(9) = 34 赤赤(10) = 0,赤白(10) = 0,赤青(10) = 89,白白(10) = 55,白青(10) = 0,青青(10) = 0 赤赤(11) = 89,赤白(11) = 0,赤青(11) = 0,白白(11) = 0,白青(11) = 144,青青(11) = 0 赤赤(12) = 0,赤白(12) = 233,赤青(12) = 0,白白(12) = 0,白青(12) = 0,青青(12) = 144 赤赤(13) = 0,赤白(13) = 0,赤青(13) = 377,白白(13) = 233,白青(13) = 0,青青(13) = 0 そこで,233 通り,になります。 結局,フィボナッチ数列なんですね。 そうと分かってしまえば,もう少しうまく解けそうだなぁ,とは思うものの,時間がないので皆さんにお任せします。 |
ネコの住む家
1月26日(木) 11:46:18
MAIL:uchi@sco.bekkoame.ne.jp 38875 |
uchinyan |
掲示板を読みました。
基本的には,皆さんフィボナッチ数列と気付いて解かれているようです。 その意味では同じですが,若干の考え方の差異で分類。 #38868,#38870 13 回目からの逆向きの樹形図を描いて調べる解法。 #38869 n 回目の場合の数の総数,袋の中の玉の色が2色の場合の数,1色の場合の数,と分類して漸化式を導き解く解法。 #38871 袋の中の玉の色のパターンを大文字・小文字の文字に置き換えて,問題を >「『大』『小』の文字を全部で12個並べる順列のうち、『大』の文字が連続せず、最後の文字が『小』であるようなものの数」 >「長さ1のブロックと長さ2のブロックを並べて長さ12にする時の並べ方のパターン数」 と置き換えて考える解法。 #38872 遷移行列を考えて解く解法。これは完全に数学ですね。 #38873 プログラムによる解法。 #38874 三次元の経路問題に置き換えて考える解法。詳細は不明。 #38875 袋の中の玉の色のパターンに基づいたナイーブな漸化式で考える解法。 |
ネコの住む家
1月26日(木) 12:20:01
MAIL:uchi@sco.bekkoame.ne.jp 38876 |
夕凪 |
あーーーやっと入れた。フィボナッチ数列までは気づいたのに・・・
2回目,3回目,4回目と思考したとき,色がそろうのは 1通り,1通り,2通りなので そこでフィボナッチ数列を利用してで233通り。 ずっと計算が合わなくて焦ってましたが、問題を読み間違って 「13回目が終わった」→取り出したのは12回で計算してました。 恥ずかしい・・・ |
1月26日(木) 16:41:14
38877 |
??? |
Option Explicit
Dim a(13) As Integer Sub Macro1() Cells(1, 1).Value = 0 Call saiki(1) Range("A1").Select End Sub Sub saiki(ByVal n As Integer) a(n) = 1 While a(n) <= 2 If n < 13 Then Call saiki(n + 1) Else Call check(1) End If a(n) = a(n) + 1 Wend End Sub Sub check(ByVal x As Integer) Dim b(2) As Integer Dim c(4) As Integer Dim d As String Dim deta As Integer Dim j As Integer Dim jj As Integer Dim jjj As Integer b(1) = 0 '赤 b(2) = 1 '白 c(1) = 0 '赤 c(2) = 1 '白 c(3) = 2 '青 c(4) = 2 '青 d = "" For j = 1 To 13 d = d + iro(b(a(j))) deta = 0 jj = 1 While deta = 0 And jj <= 4 If c(jj) = (b(a(j)) + 1) Mod 3 Then deta = 1 Else jj = jj + 1 End If Wend jjj = b(a(j)) b(a(j)) = c(jj) c(jj) = jjj Next j If b(1) = 1 And b(2) = 1 Then deta = 0 j = 1 While deta = 0 And j <= Cells(1, 1).Value If Cells(j, 2).Value = d Then deta = 1 Else j = j + 1 End If Wend If deta = 0 Then Cells(1, 1).Value = Cells(1, 1).Value + 1 Cells(Cells(1, 1).Value, 2).Value = d Range("B" & Cells(1, 1).Value).Select End If End If End Sub Private Function iro(ByVal n As Integer) As String Select Case n Case 0 iro = "赤" Case 1 iro = "白" Case Else iro = "青" End Select End Function |
1月26日(木) 17:10:26
38878 |
通りすがり |
Excelマクロなら、こうかなぁ〜
Option Explicit Sub Macro1() Cells.Clear Dim count As Integer fetch 0, "赤", "白", count, "" Cells(1, 1) = count End Sub Private Sub fetch(n As Integer, a As String, b As String, count As Integer, s As String) If n < 13 Then If a = "赤" Then fetch n + 1, "白", b, count, s + "白" If a = "白" Then fetch n + 1, "青", b, count, s + "青" If a = "青" Then fetch n + 1, "赤", b, count, s + "赤" If a <> b Then If b = "赤" Then fetch n + 1, a, "白", count, s + "白" If b = "白" Then fetch n + 1, a, "青", count, s + "青" If b = "青" Then fetch n + 1, a, "赤", count, s + "赤" End If Else If a = "白" And b = "白" Then count = count + 1 Cells(count, 2) = s End If End If End Sub |
1月27日(金) 8:13:48
38879 |
スモークマン |
いい加減です...^^;
フィボナッチの1,2,3,5,8,...,144,233,377 で... (2,0)から始まり、4回目に3個の(0,0)があるので...5が3だから...377が233かなぁ〜なんて...Orz... 皆さんの見て勉強...^^;... |
1月27日(金) 11:44:32
38880 |
せ |
組み合わせの数としては、2、3、5、8、13・・・・とフィボナッチ数列となる。
13回終了時が白白なので12回の時は白赤、11回のときは白青or赤赤でなくてはならない。 また、色の組み合わせは、(白赤)→白白or赤青→白青or赤赤→白赤or青青→白白or赤青と3回ごとに同じ組み合わせをとることになり、2回目と11回目は同じサイクルで色も一致するため13回終了時に白白の値をとることが可能である。 さらに、12回目と13回目は11回目までの組み合わせに対して1通りしか選択肢がないため、問題の答えはこのフィボナッチ数列の11項目の233通りとなる。 場合の数が、数え上げじゃなくて解けたのは初めてのような気がします。 |
1月27日(金) 14:14:21
38881 |
さいと散 |
Excelマクロで
Option Explicit Const 規定回数% = 13 Const 赤% = 0, 白% = 1, 青% = 2, 色数% = 3 Sub 算775() Cells.Clear Cells(2, 1) = "取り出し方は、" & 作業(0, 赤, 白) & " 通り" End Sub Private Function 作業&(ByVal 回数%, ByVal 玉1色%, ByVal 玉2色%) If 回数 < 規定回数 Then If 玉1色 = 玉2色 Then 作業 = 作業 + 作業(回数 + 1, 玉1色, (玉2色 + 1) Mod 色数) Else 作業 = 作業 + 作業(回数 + 1, 玉1色, (玉2色 + 1) Mod 色数) + 作業(回数 + 1, (玉1色 + 1) Mod 色数, 玉2色) End If ElseIf 玉1色 = 白 And 玉2色 = 白 Then 作業 = 1 '''規定回数のとき End If End Function |
1月28日(土) 0:35:32
38883 |
あめい |
3作業すると、(赤白)が3通り、(青青)が2通りとなり、(青青)は3作業すると(赤白)2通り、(青青)1通りなると規則性がわかりました。(赤白)の3作業後は(赤白)3通り、(青青)2通りになり、(青青)の3作業後は(赤白)2通り、(青青)1通りになるので。3作業事に(赤白)と(青青)のみになり、先の結果から、6作業後の(赤白)は3*3+2*2=13、(青青)は3*2+2=8、・・・以下この計算の繰り返しで12作業後は(赤白)233通り、(青青)144通りとなりました。13作業目後に(白白)になるのは(赤白)の場合だけなので、233通り。ただ、勘違いして13段目の全通りを233*2+144=610と出して送っていました。 |
1月28日(土) 9:06:09
38884 |
片ちゃん |
フィボナッチ数列でやれば簡単。 気付くかどうかが問題です。
|
1月28日(土) 19:35:24
38885 |
Kさん |
灘中に合格しました。(特待) とても嬉しいです! |
1月28日(土) 19:38:28
38886 |
りゅう |
フィボナッチ数列、そう言えば昔そんな事を習ったなあ・・・・・・・
回答者の方のレベルの高さに驚きました。 私は、極めて算数的な解法で答えを求めました。 13回目で(白、白)になるので、12回目では(白、赤)であり、(白、赤)から始まって(白、赤)に戻っています。 そこで、問題文の「作業」を実際に行なって枝分かれ図のようなものを作り、再び(白、赤)に戻るまでのパターンが何種類あるのかを調べ、その順列の合計数で求めました。 その結果、3回の「作業」で戻るのものが3通り、6回の「作業」で戻るのものが4通り、9回の「作業」で戻るのものが4通り、12回の「作業」で戻るものが4通りであることがわかりました。 全体のパターン数はこれらの順列の合計ですので、下記のとおりで合計233となりました。 12回目の「作業」で初めて(白、赤)に戻るもの 4 9回目の「作業」、12回目の「作業」で戻るもの(9+3) 4×3=12 3回目の「作業」、12回目の「作業」で戻るもの(3+9) 3×4=12 6回目の「作業」、12回目の「作業」で戻るもの(6+6) 4×4=16 6回目の「作業」、9回目の「作業」、12回目の「作業」で戻るもの(6+3+3) 4×3×3=36 3回目の「作業」、9回目の「作業」、12回目の「作業」で戻るもの(3+6+3) 3×4×3=36 3回目の「作業」、6回目の「作業」、12回目の「作業」で戻るもの(3+3+6) 3×3×4=36 3回目の「作業」、6回目の「作業」、9回目の「作業」、12回目の「作業」で戻るもの(3+3+3+3) 3×3×3×3=81 |
1月28日(土) 22:24:53
38887 |
りゅう |
なぜ、この「作業」によって発生するパターン数がフィボナッチ数列になるのかを考えてみました。
dobaさんのように、白赤=a、赤青=b、青白=c、青青=A、白白=B、青青=Cとすると 小文字のa、b、cは「作業」で2通り(大文字と小文字)に変化する可能性があるが、 大文字のA、B、Cは1通り(小文字)にしか変化しない。 a→b、B b→c、C c→a、A A→b B→c C→a 作業の過程を追っていくと、 最初 白赤(=a) 1回目の作業(2列目) b、Bの2通り 2回目の作業(3列目) c、C、cの3通り 3回目の作業(4列目) a、A、a、a、Aの5通り 4回目の作業(5列目) b、B、b、b、B、b、B、bの8通り ・・・・・・ 5列目でのパターン数を例に取って説明すると、5列目のパターン数8というのは 4列目の小文字分(a)3個で各々2通り、大文字分(A)2個で各々1通り発生して、 合計8通り(3×2+1×2=8)になっている。 これを言い換えると、5列目では、4列目の各パターン(小文字分+大文字分)5個から 1個ずつ発生するとともに、4列目の小文字分3個が増えていることになる。 4列目の小文字分3個というのは、3列目の各パターン(c、C、c)から1個ずつ発生(由来)している。 よって、5列目でのパターン数8は、4列目でのパターン数5と3列目でのパターン数3の合計になる。 これが普遍的に成立するので、 n列目でのパターン数は、n-1列目でのパターン数とn-2列目でのパターン数の合計になる。 やっぱり、わかりにくいですかねえ・・・・・・。 |
1月28日(土) 22:26:23
38888 |
まー |
袋の中が同色なら○,異色なら×として,
×からはじまり,○は2度続かないルールのもと表を書く ここまで来ると中学入試の問題ですね。 0 1 2 3 4 5 6 7 8 9 10 11 12 13回 ○ 0 1 1 2 3 5 8 13 21 34 55 89 144 233 × 1 1 2 3 5 8 13 21 34 55 89 144 233 計 1 2 3 5 8 13 21 34 55 89 144 233 また,1,4,7,10,13回目の○は白白のみ 2,5,8,11回目の○は赤赤のみ 3,6,9,12回目の○は青青のみ ということに気づけばそのまま答えが出せますね。 さすがに今回のは受験終わった小学生に解けませんでした。 |
1月31日(火) 17:57:38
38889 |
次郎長 |
ははは、やっと解けた。フィボナッチか、なにかそんなのになるんだろうとは想像は出来たけど、今回は集中できなかった。
今回は諦めた積りでいたのですが、もう一度だけと考えたら、何故か、今までと全く数字が出て来て・・・入れた。皆さんの見て、勉強しま〜す |
2月1日(水) 13:19:28
38890 |
先週の話でアレですけど |
#38866
190 − 11/3 = 25/3 − 50 ですよね多分 |
2月1日(水) 17:14:27
38891 |
まー |
#38891
その通りです。打ち込み間違えました。 |
2月1日(水) 19:37:37
38892 |