�������裱���������ʬ�β�����

ゴンとも
十進Basic で

FOR a=1 TO 3
FOR b=1 TO 3
IF (a=1 AND b=2) OR (a=2 AND b=1) THEN GOTO 40
FOR c=1 TO 3
IF (b=1 AND c=2) OR (b=2 AND c=1) THEN GOTO 30
FOR d=1 TO 3
IF (c=1 AND d=2) OR (c=2 AND d=1) THEN GOTO 20
FOR e=1 TO 3
IF (d=1 AND e=2) OR (d=2 AND e=1) THEN GOTO 10
LET s=s+1
10 NEXT e
20 NEXT d
30 NEXT c
40 NEXT b
50 NEXT a
PRINT s
END

f9押して 99・・・・・・(答え)
豊川市   6月24日(木) 0:08:07   MAIL:fttnm528@ybb.ne.jp   50597
紫の薔薇の人
最初がXの場合の樹形図を描いて29
最初がYの場合は、対称性から29
最初がZの場合も、最初がXの場合の樹形図の部分木を使いながら数えて41
29+29+41=99
//

   6月24日(木) 0:11:51     50598
ゴンとも
#50597

コードを書くのに

FOR a=1 TO 3
FOR b=1 TO 3
IF a*b=2 THEN GOTO 40
FOR c=1 TO 3
IF b*c=2 THEN GOTO 30
FOR d=1 TO 3
IF c*d=2 THEN GOTO 20
FOR e=1 TO 3
IF d*e=2 THEN GOTO 10
LET s=s+1
10 NEXT e
20 NEXT d
30 NEXT c
40 NEXT b
50 NEXT a
PRINT s
END

f9押して 99・・・・・・(答え)

の方が速かったんですが・・・
問題見るのも20秒程遅れたし・・・
豊川市   6月24日(木) 0:14:15   MAIL:fttnm528@ybb.ne.jp   50599
ベルク・カッツェ
Xの個数で場合分けして考えました。
0個 32通り
1個 28通り
2個 21通り
3個 12通り
4個 5通り
5個 1通り
合計99通りになりました。
   6月24日(木) 0:14:36     50600
Jママ
X 1 2 5 12 29
Y 1 2 5 12 29
Z 1 3 7 17 41

29+29+41=99通り

次のXは前のXとZの和、次のYは前のYとZの和、
次のZは前のXとYとZの和、で5文字目の合計を出しました。
   6月24日(木) 0:17:42     50601
紫の薔薇の人
A(n+2)={X(n+1)+Z(n+1)}+{Y(n+1)+Z(n+1)}+A(n+1)
=2*A(n+1)+Z(n+1)
=2*A(n+1)+A(n)

A(n+2)=2*A(n+1)+A(n)
A1=3
A2=7
A3=2*7+3=17
A4=2*17+7=41
A5=2*41+17=99
   6月24日(木) 0:24:55     50602
みかん
最後に付け加える文字で場合分け。いつも通りに漸化式っぽく

n文字の時に右端が
・Xになる→(n−1)文字の時に右端がXかZ
・Yになる→(n−1)文字の時に右端がYかZ
・Zになる→(n−1)文字の時の場合の数
n=1の時は最後ががX・Y・Zのいずれも1通り。

最後がX 01 02 05 12 29
最後がY 01 02 05 12 29
最後がZ 01 03 07 17 41

n=2以降は順に計算し、n=5の時は29+29+41=99通り。 

算数っぽく解くとなると、4文字くらいでないと大変そう。
今回の問題も「解法を知らなきゃけっこう手間がかかる」ので、
塾では積極的に扱っているかもしれませんね。
   6月24日(木) 0:24:59     50603
今年から高齢者
次のような表を作って、
Xのあとは、前のX+Z、Yの後は前のY+Z、Zの後は前のX+Y+Zで合計してゆく。
______1番目__2番目__3番目__4番目__5番目
X_______1______2______5______12_____29
Y_______1______2______5______12_____29
Z_______1______3______7______17_____41
合計で99
   6月24日(木) 0:27:49     50604
スモークマン
xyが現れる位置で場合分け...
最初にxy・・・3^3
2番目にxy・・・2*3^2
3・・・5*3
4・・・12
so...
3^5-2(12+15+18+27)=243-2*72=99
   6月24日(木) 0:29:11     50605
「数学」小旅行
zの個数で場合分けして考えました。
しかし、またzを使わないときを失念して一発正解ならずw
   6月24日(木) 6:48:58     50606
林田真和
全体が何種類かで考えました。少し時間がかかったです。
   6月24日(木) 7:23:56     50607
林田真和
全体が何種類かで考えました。少し時間がかかったです。
   6月24日(木) 7:24:04     50608
???
vbscript
dim a(5)
a(0)=0'個数
call saiki(1,a)
msgbox a(0)
'
sub saiki(n,a())
a(n)=0
while a(n)<=2'X,Y,Zを0,1,2で表す
if n=1 then
dame=0
elseif a(n-1)+a(n)=1 then
dame=1
else
dame=0
end if
if dame=0 then
if n<5 then
call saiki(n+1,a)
else
a(0)=a(0)+1
end if
end if
a(n)=a(n)+1
wend
end sub
   6月24日(木) 9:47:21     50609
次郎長
ベルク・カッツェさん同様、xの個数分けで考えました。
0個の時32、1個の時28。
ああ面倒くさい。3倍して1割増し程度かな?
99個、一発で当たってしまった。
   6月24日(木) 12:50:06     50610
ドリトル
#50601、#50603、#50604の皆さんのように、表で解きました。
塾で最近(というほどでもないが)この解き方を習ったので、早く気づきました。
   6月24日(木) 14:55:20     50611
ドリトル
そういえば算チャレの場合の数解けたの久しぶりかも…
   6月24日(木) 17:43:57     50612
ばち丸
単純な漸化式って人いないのかな。ホントかい
(表を書くのも原理的には漸化式なのだが)
サイゴがxかyになるn個の並べ方の総数をa(n)、
サイゴがzになるn個の並べ方をb(n)とすると
a(1)=2、b(1)=1
a(n+1)=a(n)+2b(n)
b(n+1)=a(n)+b(n)
でa(5)+b(5)を求めればよい
   6月24日(木) 20:17:53     50613
にゃもー君(>ω<)ノシ
X→右はYかZ
Y→右はXかZ
Z→右はXかYかZ

4列目でX→5列目は2通り
4列目でY→5列目は2通り
4列目でZ→5列目は3通り

3列目でX→4列目はYかZで、
それぞれ5列目は2通り、3通りだから、5列目は5通り
以下同じ要領で3列目YとZ 、2列目、1列目と
逆算して考えていきました。

XとYの対称性を考慮すれば
5列程度ならすぐ数えられますね。

n列であれば、漸化式でしょうか。

(ワクチン接種券が五輪前に届く見込みがなく絶望中・・・)
埼玉県さいたま市   6月24日(木) 21:22:33     50614
まるケン
第1168回の問題でも活躍した、Hashを使ったワンライナー(rubyです)。

p Hash.new{|h,k|h[k]=k<2?[1,1,1]:[h[k-1][0]+h[k-1][2],h[k-1][1]+h[k-1][2],h[k-1].sum]}[5].sum

うしろの方の 5 を100とかに変えれば、長さ100の文字列の場合は

228725309250740208744750893347264645481通り!!

って出ます。
   6月24日(木) 23:26:29     50615
にゃもー君(>ω<)ノシ
#50613 ばち丸さん
nの漸化式でa(n)+b(n)を一般項を表してみましたが、(√2+1)やら(1−√2)やら、ごちゃごちゃした値が出てきてしまいました・・・

以下方針
a(1)=2 , b(1)=1 として
a(n+1)=a(n)+2b(n) …��
b(n+1)=a(n)+b(n)…��

a(n+1)+xb(n+1)=y(a(n)+xb(n))として、�´△茲�x,yを解くと
(x,y)=(√2,√2 +1) (-√2 , 1-√2)
これを用いて a(n)+√2b(n), a(n)-√2b(n)の等比数列を一般項で表す
a(n)+√2b(n)=(2+√2)(1+√2)^(n-1)
a(n)-√2b(n) =(2-√2)(1-√2)^(n-1)

これからa(n)+b(n)を導く(ごちゃごちゃ汚い式になるが、nに自然数を当てはめると不思議に自然数になる)

埼玉県さいたま市   6月24日(木) 23:27:53     50616
にこたん
地味にやりました。
超ど田舎   6月25日(金) 6:20:58   HomePage:気ままに  50617
にゃもー君(>ω<)ノシ
#50616続き
a(n)+b(n)= {(1+√2)^(n+1) + (1-√2)^(n+1)}/2
n=5のとき、99
埼玉県さいたま市   6月25日(金) 21:35:19     50618
紫の薔薇の人
#50613

#50602で漸化式で解いています。
ただ、一般項が綺麗にならないタイプだから、答えは、順番に計算。
   6月25日(金) 22:44:47     50619
「数学」小旅行
例によって、プログラムもしてみました。Rubyです。再帰です。
Xの次にはXかZを、Yの次にはYかZを、Zの次にはXかYかZを
付けていって、5個並んだら終わりでカウントします。

$n=0
def m(y,r)
if r<5 then
case y when 'X' then for i in ['X','Z']; m(i,r+1) end
when 'Y' then for i in['Y','Z']; m(i,r+1) end
else for i in ['X','Y','Z']; m(i,r+1) end
end
else
$n+=1
end
end

m('z',0)
p $n

ちなみに10個並べると、8119通りになるようです。

   6月26日(土) 14:31:20     50620
まるケン
東京コロンボ なう。
マサルさんとは入れ違い、オタオメ言えず残念でした。
マトンのカレー、おいしかったです。
   6月30日(水) 14:14:05     50621
まるケン
#50620
> ちなみに10個並べると、8119通りになるようです。

#50615 のワンライナーでも10の場合やってみました。
8119 で答え一緒。安心しました。
   6月30日(水) 18:26:30     50622

過去問題一覧へ戻る