ベルク・カッツェ |
画像が表示されないので全く分かりません。 |
7月28日(木) 0:02:06
51694 |
ベルク・カッツェ |
表示されました。
AB上に並べるのが1通り。 2個を選んで左上と右下にするのが15通り。 4個を選んで2個ずつ動かすのが45通り。 6個を2個ずつ動かすのが15通り。 合計76通りとなりました。 |
7月28日(木) 0:25:28
51695 |
Mr.ダンディ |
ベルク・カッツェさんの#51695 と同様に考えました。 |
茨木市
7月28日(木) 0:29:45
51696 |
ヤッコチャ |
碁石が
1×1のとき→1通り 2×2のとき→2通り 3×3のとき→2+2×1=4通り 4×4のとき→4+3×2=10通り 5×5のとき→10+4×4=26通り 6×6のとき→26+5×10=76通り … x×xのときをf(x)とすると、f(x)=f(x-1)+(x-1)×f(x-2) |
7月28日(木) 0:33:46
51697 |
限界bot |
少し考えても分からなかったのでプログラムを書いてしまいました……
https://wandbox.org/permlink/JLI3YjbyBcuJLqwF 算数は難しい…… |
7月28日(木) 0:35:06
51698 |
紫の薔薇の人 |
n*nの格子の場合の答えをA(n)とする。
A(1)=1 A(2)=2 n≧2のとき、 ★A(n+1)=A(n)+n*A(n-1)が成り立つ。 これにより、 A3=2+2*1=4 A4=4+3*2=10 A5=10+4*4=26 A6=26+5*10=76 // ★の説明 (n+1)*(n+1)の格子の赤を左から1列目の何段目に置くかで場合分けすると、 (1)下から1段目に置くとき、場合の数は、A(n)通り。 (2)下から1段目以外に置くとき、その碁石とABに関し対称となる位置の赤が決まる。 この2個の行と列を除いた、残りの(n-2)列(n-2)行についての場合がA(n-2)通り。 (2)下から1段目以外は、n通りあるので、★を得る。 // |
7月28日(木) 0:53:36
51699 |
紫の薔薇の人 |
ミスりました。
訂正版 n*nの格子の場合の答えをA(n)とする。 A(1)=1 A(2)=2 n≧2のとき、 ★A(n+1)=A(n)+n*A(n-1)が成り立つ。 これにより、 A3=2+2*1=4 A4=4+3*2=10 A5=10+4*4=26 A6=26+5*10=76 // ★の説明 (n+1)*(n+1)の格子の赤を左から1列目の何段目に置くかで場合分けすると、 (1)下から1段目に置くとき、場合の数は、A(n)通り。 (2)下から1段目以外に置くとき、その碁石とABに関し対称となる位置の赤が決まる。 この2個の行と列を除いた、残りの(n-1)列(n-1)行についての場合がA(n-1)通り。 (2)下から1段目以外は、n通りあるので、★を得る。 // |
7月28日(木) 0:55:33
51700 |
紫の薔薇の人 |
最初、規則性でやろうと小さい格子で実験を重ね、時間を浪費してしまいました。最初から一般項で漸化式考えるべきでした。
|
7月28日(木) 1:03:45
51701 |
今年から高齢者 |
Aの位置を(1,1)、右下を(1,6)、Bを(6,6)とする
AからBまで6つ並べる.....1とおり ここから消せるのは偶数個 このうち 2個を抜く。6C2....抜けた2箇所にに入れられるのは1通りなので、6C2=15とおり 4個を抜く。6C4 (x,y)の対称位置は(y,x)なので、異なる数の組合せを求める (1,2,3,4)を2組に分ける。一番小さい数と他の数の組合せ(2,1)(3,1)(4,1) もう一つは、残りの組合せなので、1通り 抜く位置と、対称位置に置く位置との組合せで、6C4*3=45とおり 6個を抜く。6C0.... (1,2,3,4,5,6)を2個ずつ3組に分ける 一番小さい数とその他で5通り、残った一番小さい数とその他の組合せで3通り、3組目は残り なので15通り 合計で、1+15+45+15=76通り |
7月28日(木) 1:05:14
51702 |
紫の薔薇の人 |
今回、小行列を使って、漸化式を導いたが、小行列を使う問題は久しぶり。
過去ログを検索してみたら、 #49321・・・・20xx/7/2 #49722・・・・20xx/11/5 に私の書き込みで小行列がヒットしました。 xxが何年かを調べるのは、少し面倒。 |
7月28日(木) 1:16:25
51703 |
消しゴムパトロール |
画像が表示されていませんでしたが、文章から対称軸は対角線に違いないという見切りで解きました。
対称軸上以外にある個数は偶数個に決まっているため、対称軸上の個数も偶数。 i)対称軸上に0個 → 1段目は5通りで、線対称な場所も同時に決まるため、残りは4個。 残った4段4列の最上段は3通りで、線対称な場所も同時に決まるため、残りは2個。 残った2段2列は1通りに決まる。 5×3×1=15通り ii)対称軸上に2個 →対称軸上の2個は6C2、他の4個は3×1通り → 15通り iii)対称軸上に4個 →対称軸上の4個は6C4、他の2個は1通り → 15通り iv)対称軸上に6個 →1通り 以上を足して76通り |
7月28日(木) 1:32:44
51704 |
ゴンとも |
点を
(a1)(a2)(a3)(a4)(a5)(a6) (b1)(b2)(b3)(b4)(b5)(b6) (c1)(c2)(c3)(c4)(c5)(c6) (d1)(d2)(d3)(d4)(d5)(d6) (e1)(e2)(e3)(e4)(e5)(e6) (f1)(f2)(f3)(f4)(f5)(f6) として 十進Basic で for a1=0 to 1 for a2=0 to 1 for a3=0 to 1 for a4=0 to 1 for a5=0 to 1 for a6=0 to 1 if a1+a2+a3+a4+a5+a6<>1 then goto 310 for b1=0 to 1 for b2=0 to 1 for b3=0 to 1 for b4=0 to 1 for b5=0 to 1 for b6=0 to 1 if b1+b2+b3+b4+b5+b6<>1 then goto 250 if a5=1 and b6<>1 then goto 250 for c1=0 to 1 for c2=0 to 1 for c3=0 to 1 for c4=0 to 1 for c5=0 to 1 if b4=1 and c5<>1 then goto 200 for c6=0 to 1 if c1+c2+c3+c4+c5+c6<>1 then goto 190 if a4=1 and c6<>1 then goto 190 for d1=0 to 1 for d2=0 to 1 for d3=0 to 1 for d4=0 to 1 if c3=1 and d4<>1 then goto 150 for d5=0 to 1 if b3=1 and d5<>1 then goto 140 for d6=0 to 1 if d1+d2+d3+d4+d5+d6<>1 then goto 130 if a3=1 and d6<>1 then goto 130 for e1=0 to 1 for e2=0 to 1 for e3=0 to 1 if d2=1 and e3<>1 then goto 100 for e4=0 to 1 if c2=1 and e4<>1 then goto 90 for e5=0 to 1 if b2=1 and e5<>1 then goto 80 for e6=0 to 1 if e1+e2+e3+e4+e5+e6<>1 then goto 70 if a2=1 and e6<>1 then goto 70 for f1=0 to 1 if a1+b1+c1+d1+e1+f1<>1 then goto 60 for f2=0 to 1 if a2+b2+c2+d2+e2+f2<>1 then goto 50 if e1=1 and f2<>1 then goto 50 for f3=0 to 1 if a3+b3+c3+d3+e3+f3<>1 then goto 40 if d1=1 and f3<>1 then goto 40 for f4=0 to 1 if a4+b4+c4+d4+e4+f4<>1 then goto 30 if c1=1 and f4<>1 then goto 30 for f5=0 to 1 if a5+b5+c5+d5+e5+f5<>1 then goto 20 if b1=1 and f5<>1 then goto 20 for f6=0 to 1 if f1+f2+f3+f4+f5+f6<>1 or a6+b6+c6+d6+e6+f6<>1 then goto 10 if a1=1 and f6<>1 then goto 10 let s=s+1 print "No.";s print a1;a2;a3;a4;a5;a6 print b1;b2;b3;b4;b5;b6 print c1;c2;c3;c4;c5;c6 print d1;d2;d3;d4;d5;d6 print e1;e2;e3;e4;e5;e6 print f1;f2;f3;f4;f5;f6 10 next f6 20 next f5 30 next f4 40 next f3 50 next f2 60 next f1 70 next e6 80 next e5 90 next e4 100 next e3 110 next e2 120 next e1 130 next d6 140 next d5 150 next d4 160 next d3 170 next d2 180 next d1 190 next c6 200 next c5 210 next c4 220 next c3 230 next c2 240 next c1 250 next b6 260 next b5 270 next b4 280 next b3 290 next b2 300 next b1 310 next a6 320 next a5 330 next a4 340 next a3 350 next a2 360 next a1 end f9押して76通りを番号を振りながら 全部だしますが長すぎて(532行)省略!! |
豊川市
7月28日(木) 1:43:25
MAIL:fttnm528@ybb.ne.jp 51705 |
「数学」小旅行 |
AB上に、0個、2個、4個、6個の場合分けで数えました!
例えば、2個の時、AB上のどの2個かで6C2=15有って、 残りの4個はAB上ではないので、2個ずつ取れて、1組が決まると 残り2個は1通りだけなので、取り方は3通りです。 だから、15×3=45通り 15+45+15+1=76 |
7月28日(木) 2:07:49
51706 |
「数学」小旅行 |
例によって、Rubyプログラムです。
p (0..35).to_a.combination(6).count{|x|x.map{|y|y%6}.uniq.count==6&&x.map{|y|[y%6,y/6]}.sort==x.map{|y|[y/6,y%6]}.sort} 長々しくてすみません。 36個の点に番号を付けて、6個の組み合わせを考えます。 6個の点が、6行に分かれているものについて、行と列を入れ替えても点集合として一致するものを数えました。 |
7月28日(木) 7:43:24
51707 |
鯨鯢(Keigei) |
縦横n個のときの塗り方を F(n)通りとして、F(6)を求めます。
1列目をAB上に塗るとき、F(5)通り、 AB上にないとき、ABに対称な所に塗る必要があり、 F(4)通りですので、 F(6)=F(5)+5・F(4) になります。 同様に、n≧3 のとき、F(n)=F(n-1)+(n-1)F(n-2) です。 F(1)=1 ,F(2)=2 だから、 F(3)=F(2)+2・F(1)=2+2・2=4 、 F(4)=F(3)+3・F(2)=4+3・2=10 、 F(5)=F(4)+4・F(3)=10+4・4=26 、 F(6)=F(5)+5・F(4)=26+5・10=76 です。 |
7月28日(木) 8:01:47
51708 |
「数学」小旅行 |
#51707 訂正
x.map{|y|[y/6,y%6]}.sort} を x.map{|y|[y/6,y%6]}} に combination で昇順になっているので、商は昇順になっていますので。 |
7月28日(木) 9:02:34
51709 |
ミントくん |
僕も画像が表示されなくて間違いました。(最初は、縦線や横線と思っていたので3回ほどミスりました。) |
銀河系
7月28日(木) 10:00:13
51710 |
ミントくん |
僕も消しゴムパトロールさんやベルク・カッチェさん、ヤコッチャさん、「数学」小旅行さん、Mr.ダンディさんと同じ方法でやりました。 |
銀河系
7月28日(木) 10:12:15
51711 |
SECOND |
DIM a(7)
DATA 1,2,3,4,5,6,0,0 MAT READ a CALL perm20(1) !十進BASICで、1~6 順列の展開 P(6,6) SUB perm20(k) local i IF k< 6 THEN FOR i=k TO 6 swap a(k),a(i) CALL perm20(k+1) swap a(k),a(i) NEXT i ELSE FOR j=1 TO 6 IF a(a(j))<>j THEN EXIT SUB ! 対称でない、除く NEXT j LET a(7)=a(7)+1 MAT PRINT USING "! <<<<<< No_###": a END IF END SUB END ! 123456 No_ 1 ! 123465 No_ 2 ! ( ! ) ! 653421 No_ 75 ! 654321 No_ 76 |
7月29日(金) 2:09:31
51712 |
「数学」小旅行 |
#51712 「そうか!」と感動。アイデアを頂き、Rubyにすると、
p (0..5).to_a.permutation.count{|x|x.map{|y|x[x[y]]==y}.count(true)==6} とできました。ありがとうございます。 |
7月29日(金) 8:09:39
51713 |
「数学」小旅行 |
さっきの
p (0..5).to_a.permutation.count{|x|x.map{|y|x[x[y]]==y}.count(true)==6} より、2文字少なくできました。 p (0..5).to_a.permutation.count{|x|x.count{|y|(x[x[y]]==y)==true}==6} たいしたことではないのに、失礼しました。 |
7月29日(金) 8:24:17
51714 |
ΦDA |
15×5+1 |
8月1日(月) 18:16:43
51715 |