gpt4 book ai didi

javascript - 重复循环多次

转载 作者:行者123 更新时间:2023-12-05 05:41:46 25 4
gpt4 key购买 nike

//在连续三次抛出相同结果(要么三个都是正面,要么三个都是反面)之前,你至少需要抛几次硬币?可能需要的最大翻转次数是多少?平均需要翻转多少次?在本练习中,我们将通过创建一个模拟多个系列的抛硬币系列的程序来探索这些问题。

//创建一个程序,使用随机数生成器模拟多次抛硬币。模拟硬币应该是公平的,这意味着正面的概率等于反面的概率。您的程序应该翻转模拟硬币,直到出现 3 个连续的正面或 3 个连续的反面。每次结果为正面时显示一个 H,每次结果为反面时显示一个 T,一次模拟的所有结果都在同一行上。然后显示连续 3 次出现相同结果所需的翻转次数。当您的程序运行时,它应该执行模拟 10 次并报告所需的平均翻转次数。示例输出如下所示:

const headsOrTails = [];
const flipcounts = [];
let threeInARow = false;

while (threeInARow == false) {
const coinFlip = Math.floor(Math.random() * 10 + 1);
if (coinFlip <= 5) {
headsOrTails.push('H');
} else {
headsOrTails.push('T');
}
for (let index = 0; index < headsOrTails.length; index++) {
const element = headsOrTails[index];
if (element == headsOrTails[index + 1]) {
if (element == headsOrTails[index + 2]) {
threeInARow = true;
console.log('il numero di flip ottenuti è ' + headsOrTails.length);
}
}
}
}

有什么办法可以多次重复while循环?例如 10 次

最佳答案

flips = [];

for (let i = 0; i < 10; i++) {
let threeInARow = false;
let results = "";

while (threeInARow == false) {
const coinFlip = Math.random();
results += coinFlip < 0.5 ? "H" : "T";

if (results.includes("HHH") || results.includes("TTT")) {
threeInARow = true;
console.log(results);
flips.push(results.length);
}
}
}

console.log(flips);
const average = arr => arr.reduce((a, b) => a + b, 0) / arr.length;
console.log("Average:", average(flips))

关于javascript - 重复循环多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72240396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com