ベルク・カッツェ
初期状態 1通り
1組点灯 6通り
2組点灯 3通り
3組点灯 4通り
4組全て点灯 1通り
合計15通りになりました。
   8月31日(木) 0:14:55     52731
ベルク・カッツェ
4組→6組の間違いです。
   8月31日(木) 0:17:41     52732
ベルク・カッツェ
他の人の書き込みなくて寂しいのでもう少し詳しく。
1組点灯 4C2=6
2組点灯 1234を2つずつに分けるので4c2/2=3
3組点灯 4C3=4
   8月31日(木) 0:34:21     52733
みかん
初期状態=1通り、1組のみ=6通り。
2組のみは左下部分だけ考えると、(12,13)、(12,14)、(23,24)の時=3通り

3組のみ点灯というのは、どこか1列(行)がまるまる埋まっていないときの
4通り。
ここからもう1個押すと、均衡が崩れて全部点灯してしまう=1通り。

実際に試してみると、「4組のみ点灯ってできそうにないぞ?」とか
すぐにわかりそうだけど、紙の上で作業するだけだとなかなか難しいですね。
   8月31日(木) 0:37:41     52734
吉川 マサル
こちら、今年の東北大学の入試問題でした。(つまり、パクリ)
会社とか   8月31日(木) 13:07:52   HomePage:アリーナ  52735
吉川 マサル
http://www.sansu.org/text/touhoku2023.jpg
会社とか   8月31日(木) 13:15:07   HomePage:アリーナ  52736
ベルク・カッツェ
そのまんまですね。国立大の入試問題だし、もう少し難しいものを簡単にしたのかと思ったら。
   9月1日(金) 0:27:49     52737
清一
これは難しいです。それも試験場で。
   9月1日(金) 11:20:38     52738
みかん
場合の数・数の性質の分野は、表現を分かりやすく変えれば算数のネタに
使えそうな問題も多いけど、今回がそれだったとは。

今年の東大入試の確率問題は「特定の事象/全事象」で求めるタイプだったので、
「何通りあるか」とすればそのまま算数で使えますね。

<参考>
黒玉3個、赤玉4個、白玉5個を1列に並べるとき、
(1)赤玉どうしが隣り合わない
(2)赤玉どうしも黒玉どうしも隣り合わない、
確率を求めよ。
   9月1日(金) 12:56:53     52739
みかん
#52739
東大入試では(2)で「赤玉どうしが隣り合わない場合に、黒玉どうしが隣り合わない場合」
という条件付き確率を求める問題でした。

確率を求める形式だけど、それぞれの場合が何通りあるかを計算するのが必須ですね。算数で出すなら…もう少し玉の個数を減らしてほしいです。
   9月1日(金) 13:17:47     52740
ベルク・カッツェ
今回の問題、「4人で班を作る場合の数」とすれば中身は同じでもより簡単になりますね。
班なし 1通り
2人の班1つ 6通り
2人の班2つ 3通り
3人の班1つ 4通り
4人の班1つ 1通り

逆に大学入試らしくするならn個の場合の一般解を求めよ、でしょうか。
   9月1日(金) 16:52:10     52741
まーじまさーん
今回のは国際卓越研究大認定された東北大の入試・・・確かに考えにくい難問でした。点灯数が増える後半のほうは数え上げで対応しました。
バランスを取らなくっちゃなぁ!!   9月1日(金) 20:37:49   HomePage:ツイッターで色々やっている  52742
「数学」小旅行
はい、難しかったです。楽しい時間が長かった(^^)/
半分の6個で決まると分かってから、一つ一つ調べました。
   9月2日(土) 14:56:10     52743
「数学」小旅行
Rubyプログラムです。
x=[0,1].repeated_permutation(16).to_a
x.each{|t|for i in (0..3); t[4*i+i]=1 end}
x.each{|t|for i in (0..3);for j in (0..3); t[4*i+j]=1 if t[4*j+i]==1 end end}
x.each{|t|for i in (0..3);for j in (0..3);for k in (0..3); t[4*i+k]=1 if t[4*i+j]+t[4*j+k]==2 end end end}
x.each{|t|for i in (0..3);for j in (0..3);for k in (0..3); t[4*i+k]=1 if t[4*i+j]+t[4*j+k]==2 end end end}
p x.uniq.count

16個の電球の点灯パターンを全部出して、条件3つを満たすように点灯するべき電球を点灯させました。
3つめの条件は、2回通しています。それは、一巡目で通過後に点灯することになった電球があるので、それによって点灯することになった電球を点灯させるためです。
最後に、重複をチェックして、カウントです。
   9月4日(月) 15:42:08     52744
KawadaT
52734 みかん さんの 二組は、
(13, 14)、(14, 24)、(13, 24)
ではないでしょうか。
   9月4日(月) 18:44:03     52745
KawadaT
訂正します。
52734 みかん さんの 二組は、
(14, 23)、(14, 24)、(13, 24)
ではないでしょうか。
   9月5日(火) 4:58:44     52746
「数学」小旅行
#52744 条件に合わないものを消すことにしました。
x=[0,1].repeated_permutation(16).to_a.reject!
x.each{|t|a=0;for i in (0..3); a+=t[4*i+i] end;a!=4}
x.each{|t|b=1;for i in (0..3);for j in (0..3); b=0 if t[4*i+j]!=t[4*j+i] end end;b==0}
x.each{|t|c=1;for i in (0..3);for j in (0..3);for k in (0..3);c=0 if t[4*i+j]+t[4*j+k]==2&&t[4*i+k]!=1 end end end;c==0}
p x.uniq.count
そしたら、3つめも2回しなくて済みます。
   9月7日(木) 9:02:03     52747
アドマイヤベガ
1週間伸びたのでもう一度挑戦し、やっと解けました。
先週の自分はルール3を勘違いしていたみたいです。
   9月8日(金) 9:54:19     52748
まるケン
あるもんですね。
https://oeis.org/A000110

やり方さえわかればどうにかなるもんで、Ruby のワンライナーです。

p Hash.new{|h,k|h[k]=k<1?[1]:h[k-1][-1,1]+(0..(k-2)).map{|i|h[k-1][0,i+1].sum+h[k-1][-1]}}[N][-1]

最後の方の "N" のところに 4 を入れれば、今回の答え 15 が出るはずです。
   9月11日(月) 16:38:23   MAIL:take4310@mobile.email.ne.jp   52749
まるケン
先に挙げた整数列大辞典に、以下のような三角形な数字が書かれていました。

1
1 2
2 3 5
5 7 10 15
15 20 27 37 52

法則はよくわからなかったのですが、推測で次の行の求め方を考えました。

次の行の先頭には、前の行の末尾を持ってくる

15 20 27 37 52
52

52 の隣には、52の上の15を足した 67 を書く。

15 20 27 37 52
52 67

67の隣には、67の上の20を足して、、、
以下、上に数字がなくなるまで繰り返す。

15 20 27 37 52
52 67 87

15 20 27 37 52
52 67 87 114

15 20 27 37 52
52 67 87 114 151

15 20 27 37 52
52 67 87 114 151 203

この方式で書き直したら、ワンライナー、ちょっと短くなりました。

p Hash.new{|h,k|h[k]=k<1?[1]:h[k-1].inject(h[k-1][-1,1]){|r,i|r+[r[-1]+i]}}[N][0]
   9月12日(火) 16:40:07   MAIL:take4310@mobile.email.ne.jp   52750
ななし
格子点から、ベル数への落としどころがいまだにわからない・・・。
   9月13日(水) 8:40:53     52751
「数学」小旅行
#52749 いろいろと研究されている方々がいらっしゃるものですね。
わたしも、その中のひとつの漸化式を使ってみました。
a(n) = (n-1)! Sum_{k=1..n} a(n-k)/((n-k)! (k-1)!) where a(0)=1.
これによると、

def fac(n) #階乗の計算です。
if n>0 then
(1..n).inject(:*)
else if n==0
1
end end
end

#今回はN=4で得られます。

N=5
a=Array.new(N+1)
a[0]=1
for n in (1..N)
a[n]=(1..n).map{|k|Rational(a[n-k],(fac(n-k)*fac(k-1)))}.sum*fac(n-1)
p a[n].to_i
end
   9月13日(水) 8:59:48     52752
「数学」小旅行
で、よく考えてみると、私の場合も、同じようなことをしているようです。
初項から第n-1までのそれぞれに、パスカルの三角形の数をそれぞれ掛けて足すと第n項になるというのですね。もう少し簡単にできそうです。考えてみようかな。

   9月13日(水) 13:26:51     52753
ベルク・カッツェ
#52750まるケンさん
ひとつ前の数列が階差数列になっている数列ということでしょうか。いろいろ面白いことを考える人がいるものですね。
   9月13日(水) 23:11:17     52754
ベルク・カッツェ
#52750まるケンさん
ちょっと調べてみたら6個(203)までは今回の問題と一致しました。
見直していないので間違っているかも知れませんが。
   9月13日(水) 23:23:00     52755
ベルク・カッツェ
6個の結果を書いておきます。
グループの数0 1通り
1 15+20+15+6+1=57通り
2 45+60+15+10=130通り
3 15通り
合計203通りです。
   9月13日(水) 23:30:48     52756