ベルク・カッツェ |
7人で必ずそろうためには全ての鍵が最低4個必要。
4×7=28 |
4月4日(木) 0:07:59
53268 |
すいか |
どの鍵も4人は持ってないと条件満たさない。ってだけですね。
あとは全員に適当にかぎばらまくだけか |
4月4日(木) 0:16:40
53269 |
紫の薔薇の人 |
任意の7人が選ばれたときに全てのカギが揃うためには、
選ばれなかった3人のみが所持するカギがなければよい。 => 全てのカギの合い鍵を4個ずつ作ればよい。 だから鍵は4*7=28個以上必要。 そして、実際に次のように配れば、題意の条件を満たす配り方を実現できるので、答えは28個で十分。 扉ABCDEFG 人123456789X ABCDEFG 1〇×〇××〇× 2〇×〇××〇× 3〇××〇×〇× 4〇××〇×〇× 5×〇×〇××○ 6×〇×〇××○ 7×〇××〇×○ 8×〇××〇×○ 9××〇×〇×× X××〇×〇×× // |
4月4日(木) 0:33:53
53270 |
紫の薔薇の人 |
この手の問題は、xx個以上必要なことをまず示し、実際にその個数でできることの例を一つ以上構成して示すことで
十分性を示して初めて完全解になります。ほぼ自明ですが。 |
4月4日(木) 0:39:08
53271 |
Jママ |
十分条件はこれでもいいでしょうか
1 ABCDEFG 2 ABCDEFG 3 ABCDEFG 4 A 5 B 6 C 7 D 8 E 9 F 10 G |
4月4日(木) 0:47:16
53272 |
紫の薔薇の人 |
#53272
十分です。他にも事例は作れますね。 先週の問題の回答で気になったのは、 補助線を引いて平行四辺形Xを作り、Tに対する点対称を利用して、XのABに対する対辺の長さを決めて、後は逆さの相似に持ち込むという論法がありましたが、TがSPQRの対角線の交点であるのは自明でも、Tが平行四辺形Xの対角線の交点と一致する(実際には一致する)というのは自明でないので、これを示してからでないと上記の論法は不十分と思いました。 一致することは、他の人の回答を使えば、あと少しで示せるが、その過程で問題自体の答えにたどり着けますが。 |
4月4日(木) 1:02:39
53273 |
スモークマン |
最悪の場合みたいではと考えてみました...^^;
(1)〜(10)番の人が以下のように鍵を持っていれば... (1)1 (2)2,1 (3)3,2,1 (4)4,3,2,1 (5)5,4,3,2 (6)6,5,4,3 (7)7,6,5,4 (8) 7,6,5 (9) 7,6 (10) 7 としておけば、いずれの7人を選んでも、1〜7の鍵が得られる。 4*7=28 |
4月4日(木) 1:09:56
53274 |
「数学」小旅行 |
1番の鍵に絞って考えると4人が持ってると良いと思いました |
4月4日(木) 3:58:58
53275 |
手描き図面職人 |
パイソンプログラムで解いて見ました。プログラムは、
def find_minimum_keys(): keys=[1,2,3,4,5,6,7,8,9,10] keys.sort() min_keys=sum(keys[:7]) return min_keys result=find_minimum_keys() print(f"全員が持っているカギを集めると、最も少なくて{result}個になります。") このプログラムは、copilotに作って貰いました。こんなハイレベルプログラムは、私には、作れません。 |
4月4日(木) 4:39:24
53276 |
Jママ |
紫の薔薇の人 様、ご回答ありがとうございましたm(_ _)m |
4月4日(木) 8:33:11
53277 |
「数学」小旅行 |
Rubyプログラムです。
n=7;m=10;a=[];c=(1..n) #n種の鍵の中から持つ鍵の選び方をすべて列挙して、配列aとします。 for i in 0..n;a+=c.to_a.combination(i).to_a;end #m人に持たせるときの持たせ方全体の中で、あるn人を選ぶとn種の鍵が揃わないものを除外します。 残った各場合で、持っている鍵の総数を求め、その最小値を求めます。 p a.repeated_combination(m).to_a.delete_if{|x|x.combination(n).map{|y|y.inject(:+).uniq!=(1..n).to_a}.inject(:|)}.map{|z|z.flatten.count}.min |
4月4日(木) 17:28:58
53278 |
手描き図面職人 |
chatGPT3.5の質問欄にコピーアンドペーストして、Rubycodeを作成して貰いました。codeは、
# 盟主の数 num_leaders=10 # 必要なカギの数 num_keys=7 # カギを持つ盟主の最小数 min_keys_per_leader=num_keys*(num_leaders-num_keys+1) puts min_keys_per_leader |
4月5日(金) 9:41:06
53279 |
手描き図面職人 |
プログラムが正しく作動するか確認できないことに、手を出してすみません。 |
4月5日(金) 10:34:27
53280 |
よんひ |
「7つ」の「カギのかかった扉」と色がついているため、状況を理解するまでに若干混乱しました。
たぶん扉が進行方向に7つ並んでいて、1つ1つ開けながら進んでいく必要があるのだろうな、と想像して問題を解いた後に、 「あ、「7つのカギ」のかかった(1つの)扉かぁ」と理解しました。 |
4月5日(金) 13:46:29
53281 |
「数学」小旅行 |
#53279 は、7*(10−7+1)=28 で、#53275 の計算式になっていますね。すごい!
#53276 は、1+2+・・・+7=28 の計算で、意味は不明?(考え中です) |
4月6日(土) 7:24:36
53282 |
にこたん |
こんにちは |
4月8日(月) 21:00:02
53283 |
衛門 |
にょっす🐮🖐️ |
4月10日(水) 14:37:29
53284 |