質問: パズル(?)数学(?)7つのアイテムの全組み合わせを表す数値と計算式は? こんにちは パズル、数学、プログラミングに類する質問です。 ここに7つのアイテムがあります。 例えば、帽子、シャツ、ネクタイ、パンツ、ズボン、靴下、靴とします。 ある人が、これらのアイテムから任意のものを選んで身につけます。 各アイテムは1つずつしかないので、1つを使うとなくなってしまいます(身につけられた状態になってしまいます)。つまり、帽子を2つ身につけたり、靴下を二重にはいたりすることはできません。一方で、シャツを着ないでネクタイを、パンツをはかないでズボンを、靴下をはかないで靴を履くことはできます。組み合わせと個数は自由です。 数式などを使って、現在この人が身につけているアイテムが何かを調べたいと考えています。 例えば、帽子をかぶると + 10、シャツを着ると + 25 と言った具合に数値が足されたり掛け合わされていきます。あ、もちろんあなたはこの合計の数値を知ることができます。 さて、合計の数値を見て、そこから帽子を身につけているか、ズボンを身につけているかなどを知る方法はあるでしょうか? たとえば、合計値を250で割ってあまりが偶数なら帽子を身につけているとか、7つのアイテムを個別に識別する何らかの式ができるのではないかと思うのです。式は1行でなくてもいいですし、結果を見て分岐していく方法でも構いません。時間がかかっても7つのアイテムが身につけられているか、いないかを判別したいと思います。
回答: >これは、7個の0/1と対応している、ということですね。 >数って神秘ですね。 いえ見慣れている10進数も、各桁の0~9に対応しているのですから・・不思議でもなんでもない。 >しかし、その商の整数部を取ったものを2で割る点が微妙に分からないのです。 見慣れている10進数は、10で割って=一桁ずらしたとき小数点一桁に数があればその桁には数がある。基数で割ると言う事は下から一桁ずつ調べているということ。 >ある数値から一気にパンツの有無を割り出す式はあるのでしょうか? 二進数に直して、桁をチェックするのが一番早い。 また、当然ですがその2進数を10進数に直したものを2(n−1)で割って、1桁目が奇数であればあり。 99/26 = 【1】.546875 帽子あり 99/25 = 【3】.09375 シャツあり 99/24 = 【6】.1875 ネクタイなし 99/23 = 1【2】.375 パンツなし 99/22 = 2【4】.75 ズボンなし 99/21 = 4【9】.5 靴下あり 99/20 = 9【9】.0 靴あり これって10進数で、一桁ずつ調べて0~9の何れかを見ている作業とまったく同じ。 二進数だと偶数か奇数を調べれば良いのですからね。 「帽子、シャツ、ネクタイ、パンツ、ズボン、靴下、靴を放置しているか、鞄に入れたか、身につけているかの三通りなら3進法」 「帽子、シャツ、ネクタイ、パンツ、ズボン、靴下、靴を0~9枚持ってるかなら10進数」 そんなに難しく考えなくて良いですよ。 数学できる人は国語力がないと・・・ 「7種類のアイテムを身につけるか否か」という単純な話を _____________ 各アイテムは1つずつしかないので、1つを使うとなくなってしまいます(身につけられた状態になってしまいます)。つまり、帽子を2つ身につけたり、靴下を二重にはいたりすることはできません。一方で、シャツを着ないでネクタイを、パンツをはかないでズボンを、靴下をはかないで靴を履くことはできます。組み合わせと個数は自由です。 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ こんな回りくどい言い方で言うことになる。 逆に回りくどく書かれていたり話されたら意味が読み取れないことになる。 「7つのアイテムを身につけるか否か」 と読取れさえすれば、簡単な質問だと、何をすればよいか、わかったのでは???