アカウント名:
パスワード:
(1) n人の教授がいるとして、各自、自分の給料をnで割る。この数値を全員分足し合わせれば平均値になる。
(2) 各自、(1)の値をさらにいくつかに分割する(等分するのではなく分割するだけ)。ここでは3つに分けることにする。例えばA教授が(1)で得た値が10000であれば、10000=1000+4000+5000とする。
(3) みんなで円座になってすわり、最初のA教授はとりあえずランダムの数字(5000とか)と、(2)で分割した最初の数字を足した数字を書いて隣のB教授に回す。5000+1000=6000だ。A教授はランダムの数字5000を覚えておく。
(4) ここで、まわってきた紙は、ほかの人には見
ん?
で、1周させる間、他の人に見せないというルールを使ってよいなら、こういう手がありますね。巡回の最初の教授をA教授、最後の教授をZ教授としましょう。
これで2周でどうにか。Z教授に対する信頼が必要になりますが。
ただ…この方法だと、「小さな紙」に書いてある数字を「消して、新しい数字を書き込む」必要がある。でも条件には「消しゴムの存在」は含まれていないんだよね…。塗りつぶす方法だと「小さな紙」ではすぐ空間が足りなくなると思うんだ…。
やっぱり裏に書いたら駄目ですよねー
あー、「一周目は紙をもらったら計算結果を新しい紙に書いて、古い紙の結果は塗りつぶす」「二周目は紙をもらったら計算結果を使い古しの紙の裏に書いて、もらった数字は塗りつぶす」ならできるかも。
紙が1枚ではなく人数分だけある理由も立ちますね。
確かにおっしゃるとおりな部分があります。私も仕事中に考えていて(ぇ)、紙に書く案はだめだなと思っていました。
最初にnで割る必要がないというのはごもっとも。最後に1回で十分ですね。
あと、ランダムな数字はA教授だけが考えておけば十分です。初期値を0にすると、B教授がA教授の給料の最低値を知ってしまうので、それをさせないための方便です。なお、ランダムの値を非負の値(≧0)としてしまうと、「A教授は最大で○○ドルもらっている可能性がある」とわかってしまうので負の値もありうることにしておかなければなりません。
でも、このランダムな数字というのはエレガントではないなと思い直しました。(2)で給料を分割するときに負の数に分けても良い(ex. 10000=-15000+5000)ことにすれば、B教授にはA教授の給料を推測できなくなるので、このランダム数字は不要になります。
紙に書いてまわすように考えていたのですが、こうするとご指摘のとおりで数字の履歴が丸見えになってしまいます。そこで、やや強引ですが、小さい紙は手順(2)で分割した数字をメモする紙ということにして、足し合わせた数字は耳打ちすることにしたほうが良いと考え直しました。
以下、直した手順。
(1) n人の教授がいるとする。
(2) 各自、(1)の値を2個に分割する。例えばA教授が10000ドルもらっているなら、10000=4000+6000など。負の数も許容する。この数字を小さい紙にメモする。
(3) みんなで輪になって、最初のA教授は最初の数字を隣のB教授に耳打ちする。
(4) B教授は自分のメモにある最初の数字をA教授から聞いた数字に足して、C教授に耳打ちする。
(4')C教授は自分のメモにある最初の数字をB教授から聞いた数字に足して、D教授に耳打ちする。以下繰り返す。
(5) A教授が、最後にZ教授から聞いた結果をnで割ると平均値が求まる。
給料を2つ以上に分割する、と言う考えは tarosuke さんも提示していますが、それは単に 給料 = 乱数1 + (給料 - 乱数1)に分割しているだけです(あ、上記は2つに分ける場合ね)。つまり、分割する段階で乱数が入り込んでいるので、数字を「なんと表現しているか」以外何も変わっていません。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
身近な人の偉大さは半減する -- あるアレゲ人
ランダムに分ける案 (スコア:2)
(1) n人の教授がいるとして、各自、自分の給料をnで割る。この数値を全員分足し合わせれば平均値になる。
(2) 各自、(1)の値をさらにいくつかに分割する(等分するのではなく分割するだけ)。ここでは3つに分けることにする。例えばA教授が(1)で得た値が10000であれば、10000=1000+4000+5000とする。
(3) みんなで円座になってすわり、最初のA教授はとりあえずランダムの数字(5000とか)と、(2)で分割した最初の数字を足した数字を書いて隣のB教授に回す。5000+1000=6000だ。A教授はランダムの数字5000を覚えておく。
(4) ここで、まわってきた紙は、ほかの人には見
人生は七転び八起き、一日は早寝早起き
Re:ランダムに分ける案 (スコア:1)
ん?
で、1周させる間、他の人に見せないというルールを使ってよいなら、こういう手がありますね。巡回の最初の教授をA教授、最後の教授をZ教授としましょう。
これで2周でどうにか。Z教授に対する信頼が必要になりますが。
ただ…この方法だと、「小さな紙」に書いてある数字を「消して、新しい数字を書き込む」必要がある。でも条件には「消しゴムの存在」は含まれていないんだよね…。塗りつぶす方法だと「小さな紙」ではすぐ空間が足りなくなると思うんだ…。
fjの教祖様
Re:ランダムに分ける案 (スコア:2)
やっぱり裏に書いたら駄目ですよねー
Re:ランダムに分ける案 (スコア:1)
あー、
「一周目は紙をもらったら計算結果を新しい紙に書いて、古い紙の結果は塗りつぶす」
「二周目は紙をもらったら計算結果を使い古しの紙の裏に書いて、もらった数字は塗りつぶす」
ならできるかも。
紙が1枚ではなく人数分だけある理由も立ちますね。
fjの教祖様
Re:ランダムに分ける案 (スコア:2)
確かにおっしゃるとおりな部分があります。私も仕事中に考えていて(ぇ)、紙に書く案はだめだなと思っていました。
最初にnで割る必要がないというのはごもっとも。最後に1回で十分ですね。
あと、ランダムな数字はA教授だけが考えておけば十分です。初期値を0にすると、B教授がA教授の給料の最低値を知ってしまうので、それをさせないための方便です。なお、ランダムの値を非負の値(≧0)としてしまうと、「A教授は最大で○○ドルもらっている可能性がある」とわかってしまうので負の値もありうることにしておかなければなりません。
でも、このランダムな数字というのはエレガントではないなと思い直しました。(2)で給料を分割するときに負の数に分けても良い(ex. 10000=-15000+5000)ことにすれば、B教授にはA教授の給料を推測できなくなるので、このランダム数字は不要になります。
紙に書いてまわすように考えていたのですが、こうするとご指摘のとおりで数字の履歴が丸見えになってしまいます。そこで、やや強引ですが、小さい紙は手順(2)で分割した数字をメモする紙ということにして、足し合わせた数字は耳打ちすることにしたほうが良いと考え直しました。
以下、直した手順。
(1) n人の教授がいるとする。
(2) 各自、(1)の値を2個に分割する。例えばA教授が10000ドルもらっているなら、10000=4000+6000など。負の数も許容する。この数字を小さい紙にメモする。
(3) みんなで輪になって、最初のA教授は最初の数字を隣のB教授に耳打ちする。
(4) B教授は自分のメモにある最初の数字をA教授から聞いた数字に足して、C教授に耳打ちする。
(4')C教授は自分のメモにある最初の数字をB教授から聞いた数字に足して、D教授に耳打ちする。以下繰り返す。
(5) A教授が、最後にZ教授から聞いた結果をnで割ると平均値が求まる。
人生は七転び八起き、一日は早寝早起き
Re:ランダムに分ける案 (スコア:1)
給料を2つ以上に分割する、と言う考えは tarosuke さんも提示していますが、それは単に
給料 = 乱数1 + (給料 - 乱数1)
に分割しているだけです(あ、上記は2つに分ける場合ね)。つまり、分割する段階で乱数が入り込んでいるので、数字を「なんと表現しているか」以外何も変わっていません。
fjの教祖様