Edited at

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

More than 1 year has passed since last update.


コイン分配問題とは

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);//結果発表


以上です