- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图编写一个 C++ 程序来计算我连续抛掷了多少次相同类型的硬币,但结果很奇怪。我试着扔了 1,000,000 次,但我没有得到比 15 次更多的“相同类型的连续抛掷”。我用较少的抛掷次数 (5-20) 测试了它,它似乎工作正常,除了我也没有连续获得超过 15 个相同类型。
#include <iostream>
#include <ctime>
#define LOOP 1000000//how many times do I toss a coin
int main()
{
int maxTails = 0, maxHeads = 0, currentTails = 0, currentHeads = 0, totalHeads = 0, totalTails = 0;
int totalMax = 0;//highest amount of "in a row" out of all iterations
bool heads = false;//last toss
srand(time(0));
for (int x = 0; x < 100; ++x) {//this is to increase the amount of how many times I want to toss a coin LOOP times
for (int i = 0; i < LOOP; ++i)//tosses a coin LOOP times
{
if (rand() % 2 == 0)// heads
{
if (heads == false)//if last toss was tails I check if the "in a row" for it was more than the current maximum
{
if (currentTails > maxTails) maxTails = currentTails;
currentTails = 0;
currentHeads = 0;
heads = true;
}
currentHeads++;
totalHeads++;
if (currentHeads > maxHeads) maxHeads = currentHeads;
}
else//tails
{
if (heads == true)
{
if (currentHeads > maxHeads) maxHeads = currentHeads;
currentHeads = 0;
currentTails = 0;
heads = false;
}
currentTails++;
totalTails++;
if (currentTails > maxTails) maxTails = currentTails;
}
}
if (maxTails > totalMax) totalMax = maxTails;//totalMax is the maximum "in a row" of either tails or heads
if (maxHeads > totalMax) totalMax = maxHeads;
std::cout << "Throws: " << LOOP << ", Total heads: " << totalHeads << ", Total tails: " << totalTails << ", Maximum heads: " << maxHeads << ", Maximum tails: " << maxTails << std::endl;//writes all the info
//std::cout << "Iteration: " << x + 1 << ", Max: " << totalMax << std::endl;
maxTails = maxHeads = currentHeads = currentTails = totalHeads = totalTails = 0;
}
std::cout << "Max: " << totalMax << std::endl;
system("pause");
return 0;
}
我在互联网上读到,如果您抛硬币 1,000,000 次,连续获得 20 次正面朝上的概率约为 38%,但我的程序运行方式不同。我的代码有问题还是 rand() 函数有问题?
最佳答案
阅读@BathSheba 评论。期望与您现在得到的不同的输出是不准确的。
为了简单起见以便读者可以根据需要进行调试,这是您的代码的工作版本:
#include <iostream>
#include <ctime>
#define LOOP 1000000 //how many times do I toss a coin
int main()
{
int maxTails = 0;
int maxHeads = 0;
int currentTotalTails = 0;
int currentTotalHeads = 0;
srand(time(NULL));
for (int i = 0; i < LOOP; ++i) //tosses a coin LOOP times
{
if (rand() % 2 == 0)// heads
{
currentTotalHeads++;
currentTotalTails = 0;
if (currentTotalHeads > maxHeads)
maxHeads = currentTotalHeads;
}
else // tails
{
currentTotalTails++;
currentTotalHeads = 0;
if (currentTotalTails > maxTails)
maxTails = currentTotalTails;
}
}
std::cout << "Max Heads in a row: " << maxHeads << std::endl;
std::cout << "Max Tails in a row: " << maxTails << std::endl;
system("pause");
return 0;
}
关于C++抛硬币程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37709906/
我目前正在做一个项目,试图开发一种用于 P2P 能源交易的货币和模型,其中每产生一千瓦时的可再生能源就会向该生产商类型转换一枚硬币。我的问题是关于销毁智能合约中的代币。 所有与我的项目类似的当前实现都
在没有Maps帮助的情况下通过Memoization解决问题,由于读取文件的方法,我得到了TLE,根据我的说法,这不应该是这种情况。可能的原因是什么? 这是给出 AC - http://ideone.
考虑下面这段伪代码,其中d是面额值数组,k是面额数,n是要进行更改的金额。 Change(d; k; n) 1 C[0] 我真的不明白这部分,你为什么要用它,谁能给我解释一下! 最佳答案 为了回答
我正在尝试在我的网站上实现 Coin Slider (http://workshop.rs/2010/04/coin-slider-image-slider-with-unique-effects/)
我有使用硬币 slider 的画廊 var $jq = jQuery.noConflict(); $jq(window).load(function() { var imhei
我使用了从该站点提取的硬币 slider http://workshop.rs/projects/coin-slider/ .它现在自动滚动并仅在悬停时显示上一个和下一个。我需要禁用自动滚动并正常显示
我的问题是一道CodeFu练习题(2012 round 2 problem 3)。它基本上归结为将整数数组分成两个(几乎)相等的两半并返回两者之间可能的最小差异。我在下面包含了问题描述。如评论中所述,
我们的老师要求我们制作一 jar 硬币,用来计算我们有多少便士、一毛钱等,然后给出总金额。 这是他希望我们使用的模板 https://online.pcc.edu/content/enforced/7
我正在尝试使用币安币 future 的 api 下载 BTC/USD 永续 future 的历史价格数据,具体来说,我想使用 this endpoint .但是,我找不到必须为 BTC/USD 指定的
我上周刚开始学习计算机科学,我们得到了一个名为“硬币”的工作表,其中我必须找出一组硬币中有多少个 25 美分、10 美分、5 美分和 10 便士。我遇到了很多麻烦,并收到了该错误。这是我的代码 pac
我正在构建一些使用消耗性硬币的测验。我使用 NSUserDefault 来保存设备上的硬币及其工作。我还在 qiuz 中使用 CloudKit 处理数据。 不麻烦的是,如果用户切换设备如何恢复硬币?有
我是一名优秀的程序员,十分优秀!