LoginSignup
2
0

More than 5 years have passed since last update.

コイン分配問題 JavaScriptでやってみた

Last updated at Posted at 2018-03-25

コイン分配問題とは

6人が均等にコインを所持し、2つのサイコロをふります。
サイコロ1の出目の人はコインを差し出し、サイコロ2の出目の人はそのコインを取得する。
これを繰り返すと、貧富の差が出るのだそうな。
https://scrapbox.io/prog-exercises/コイン分配問題

誰かのコインがゼロになるまで続けて、最終結果をコンソールに出力する、というのをjsでやってみました。

ソースコード

coint.js
const money = 100;//所持コイン数
let member = {
              "member_1" : money,
              "member_2" : money,
              "member_3" : money,
              "member_4" : money,
              "member_5" : money,
              "member_6" : money
            };
let endFlug = false;//ループ抜けるためのフラグ
const max = 6;//サイコロの出目max値
const min = 1;//サイコロの出目min値

//誰かが所持金ゼロになるまで繰り返し
while(endFlug === false){
    var deme1 = Math.floor(Math.random() * (max + 1 - min)) + min;//サイコロ1の出目
    var deme2 = Math.floor(Math.random() * (max + 1 - min)) + min;//サイコロ2の出目
    member["member_"+ deme1]--;//サイコロ1の出目の人はコインを差し出す
    member["member_"+ deme2]++;//サイコロ2の出目の人はそのコインをもらう

    for (let item in member){//誰かがゼロになった時の判定
      if (member[item] === 0) {
        console.log(item);//ゼロになった人を表示
        endFlug = true;//抜けるためのフラグをtrueに
      }
    }
}
console.log(member);//結果発表

以上です

2
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0