#コイン分配問題とは
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);//結果発表
以上です