トップページ > プログラム > 2017年02月19日 > jfBNLWVT

書き込み順位&時間帯一覧

35 位/263 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000003100004



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
スレ立てるまでもない質問はここで 145匹目©2ch.net

書き込みレス一覧

スレ立てるまでもない質問はここで 145匹目©2ch.net
738 :デフォルトの名無しさん[sage]:2017/02/19(日) 18:49:44.27 ID:jfBNLWVT
ちょっと長いけどSwiftでプログラム書いてみたw

// 看守
class Officer {
  let numberOfPrisoners: Int
  let gracedIndex: Int
  init(numberOfPrisoners: Int, gracedIndex: Int) {
    self.numberOfPrisoners = numberOfPrisoners
    self.gracedIndex = gracedIndex
  }
  func anserTheQuestion() -> Int {
    switch gracedIndex {
     case 0:
      return Int(arc4random_uniform(2) + 1)
     case 1:
      return 2
     case 2:
      return 1
     default:
       assert(false)
    }
  }
}
スレ立てるまでもない質問はここで 145匹目©2ch.net
739 :デフォルトの名無しさん[sage]:2017/02/19(日) 18:50:00.17 ID:jfBNLWVT
// 恩赦の決定
class Pardoner {
  static func giveAPardon(numOfPrisoners count: Int) -> Int {
    return Int(arc4random_uniform(UInt32(count)))
  }
  static func makeOfficer(numberOfPrisoners: Int) -> Officer {
   let gracedIndex =
     Pardoner.giveAPardon(numOfPrisoners: numberOfPrisoners)
   return
    Officer(numberOfPrisoners: numberOfPrisoners, gracedIndex: gracedIndex)
  }
}



let numberOfPrisoners = 3 // 囚人の数
var totalA: Int = 0 // Aが恩赦
var totalC: Int = 0 // Bが恩赦
var numberOfTrial = 10000 // 試行回数
スレ立てるまでもない質問はここで 145匹目©2ch.net
740 :デフォルトの名無しさん[sage]:2017/02/19(日) 18:50:10.79 ID:jfBNLWVT
for i in 0..<numberOfTrial {
 // 恩赦の決定
 let officer = Pardoner.makeOfficer(numberOfPrisoners: numberOfPrisoners)

 let anser = officer.anserTheQuestion() // 看守に質問
 if anser == 1 { // Bは死刑
  if officer.gracedIndex == 0 {
   totalA += 1 // Aが恩赦
  }
  if officer.gracedIndex == 2 {
   totalC += 1 // Cが恩赦
  }
 }
}

print(totalA) // Aが恩赦だった数
print(totalC) // Cが恩赦だった数
スレ立てるまでもない質問はここで 145匹目©2ch.net
741 :デフォルトの名無しさん[sage]:2017/02/19(日) 19:01:55.24 ID:jfBNLWVT
ん、冷静に見返すとちょっと色々酷いな
まいいやメシ食お


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。