• ベストアンサー

パズル

向かい側まで突き抜ける穴を黒丸の位置からあけることにします。 このとき1つも穴があいていない小さな立方体は何個できますか? という問題です 数えれば解けますがコマが増えれば数えられなくなりますよね 簡単に解く方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • tagawakao
  • ベストアンサー率46% (7/15)
回答No.5

書きあげたり、プログラムを組んだりするのも一つの手ですが、 もっと式で考えられないか考えると、 ベン図の考え方で簡単に解くことができます。 仮に手前の面をA、右の面をB、上の面をCとします。 Aが潰す立方体の数をn(A)という風に書くとすると n(全体)=4×4×4=64 n(A)=5×4=20 n(B)=5×4=20 n(C)=5×4=20 n(AかつB)=6 n(BかつC)=6 n(CかつA)=6 n(AかつBかつC)=3 なので、 n(AまたはBまたはC)=n(A)+n(B)+n(C)-n(AかつB)-n(BかつC)-n(CかつA)+n(AかつBかつC) =45 求めたいのはこの余事象の数だから n(答え)=n(U)-n(AまたはBまたはC)      =19 このほうが数がたくさんになったときに拡張しやすいと思います。

yu-yake
質問者

お礼

回答していただいたすべての方へ、ありがとうございました 塗りつぶすでは数が増えると困難であり プログラムではPCが計算で出す といった具合で納得がいきませんでした この計算式なら多少増えても融通がききそうですね でも莫大な数になるとプログラムに頼るしかなさそうですね

その他の回答 (4)

  • info22
  • ベストアンサー率55% (2225/4034)
回答No.4

下から上に向かって、1段目、2段目、3段目、4段目とし 各段を真上からみる図は以下のようになります。 ただし、□は孔の開いていないブロック、●は上から下に孔の 開いているブロック(水平方向にも孔が開いている場合も含む)、 ○は水平方向に縦または横に孔が開いているブロックとします。 4段目 □●□○ ●○●○ → □は4個 □●□○ ○○○● 3段目 ○●○○ ●□●□ → □は6個 □●○□ □□○● 2段目 □●□□ ●○●□ → □は6個 ○●○○ □○□● 1段目 ○●□○ ●□●○ → □は3個 ○●□○ ○○○● 以上から 4+6+6+3=19個 です。 図の構成の仕方は異なっていますが #1さんの結果と同じですね。 縦横上下の分割数(段数)が10~20位までなら 格段の格子の図を描いたものを段数分用意して ●(各図固定)だけの図に、機械的に○をつけて のこった格子の数の合計を計算した方が速いでね。 縦横上下の分割数(段数)が100以上になったら 手で書き込むのが大変ですから、EXCELのセルを 使った格子を使って、コピー機能を使い塗りつぶ して、何もないセルを表計算でカウントすれば いいかと思います。(図的に手作業することと 表計算ソフトによるカウント機能利用)。 さらに、1000~10000分割以上になったら プログラムを組んで配列を使って計算すればいいかと 思います。 どの方法をとるにしても、一回きりのカウントだったら 入力データの整理や表計算入力、プログラムの配列へのデーら入力 など、どの方法でも手間は余り変わらないですね。 孔の位置のデータをそのつど変更して、何十回以上も繰り返して 孔のないブロックをカウントするような場合は、プログラムを 組んでおいて、孔のデータを機械的に入力して、配列計算で求めた方が 手間がかかりませんね。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.3

小さい立方体に左上から右下、奥に1~64の番号を振っておくと、穴を開けた方向により、 ・正面からの場合は、穴の開いた番号から16飛ばしで4つ。 ・右からの場合は、穴の開いた番号を含めて前の4つの番号。 ・上からの場合は、穴の開いた番号から4飛ばしで4つ。 とかで、番号をつぶして行く事になります。 1~64までの数列を書いて、印をつけていくとか。 > 簡単に解く方法はありますか? Excelを使ったり、プログラムを組めば…。

  • m07136
  • ベストアンサー率52% (9/17)
回答No.2

#1です。 矢印を書き込んだらチョット変な位置にきてしまったので気をつけて 下さい。 矢印は全て塗りつぶした列を表しています。

  • m07136
  • ベストアンサー率52% (9/17)
回答No.1

チョットめんどくさいですか参考までに… この問題ならば まず4×4の四角形を4つ書きます。(正面から1段ずつ分ける) そうしたら正面の模様のところを全て塗りつぶしてください 一番手前              一番奥 ○○○●  ○○○●  ○○○●  ○○○● ○○●○  ○○●○  ○○●○  ○○●○ ○●○○  ○●○○  ○●○○  ○●○○ ●○○●  ●○○●  ●○○●  ●○○● 次に上から見ます。一番手前のブロックは1番右に穴があいているので一番手前のブロックの1番右のブロックを塗りつぶします。 同様にして上から見た図を全て塗りつぶすと。    ↓   ↓    ↓ ↓    ↓ ○○○●  ○●○●  ●○●●  ○●○● ○○●●  ○●●○  ●○●○  ○●●○ ○●○●  ○●○○  ●●●○  ○●○○ ●○○●  ●●○●  ●○●●  ●●○● 最後に右から見ます一番手前のブロックは一番上と一番下に穴があいてがあいているので一番手前のブロックの1番上と1番下のブロックを塗りつぶします。 同様にして右から見た図を全て塗りつぶすと。 ●●●●← ○●○●  ●●●●← ○●○● ○○●●  ○●●○  ●○●○  ●●●●← ○●○●  ●●●●← ●●●○  ○●○○ ●●●●← ●●○●  ●○●●  ●●○● 最終的に塗りつぶされなかったところが穴のあいていないブロックです。 この問題ならば19個となります。 この問題は頭で考えるよりも図に表したほうが簡単でしょう。

関連するQ&A