Sleeping Beauty problem: Difference between revisions
m
Move C++ to the right alphabetical position
(add gwbasic) |
Not a robot (talk | contribs) m (Move C++ to the right alphabetical position) |
||
Line 56:
<pre>Wakings over 100000 repetitions = 150096
Percentage probability of heads on waking = 33.24805457840316 %</pre>
=={{header|C++}}==▼
<lang cpp>#include <iostream>▼
#include <random>▼
int main() {▼
std::cout.imbue(std::locale(""));▼
const int experiments = 1000000;▼
std::random_device dev;▼
std::default_random_engine engine(dev());▼
std::uniform_int_distribution<int> distribution(0, 1);▼
int heads = 0, wakenings = 0;▼
for (int i = 0; i < experiments; ++i) {▼
++wakenings;▼
switch (distribution(engine)) {▼
case 0: // heads▼
++heads;▼
break;▼
case 1: // tails▼
++wakenings;▼
break;▼
}▼
}▼
std::cout << "Wakenings over " << experiments▼
<< " experiments: " << wakenings << '\n';▼
std::cout << "Sleeping Beauty should estimate a credence of: "▼
<< double(heads) / wakenings << '\n';▼
}</lang>▼
{{out}}▼
<pre>▼
Wakenings over 1,000,000 experiments: 1,500,090▼
Sleeping Beauty should estimate a credence of: 0.333253▼
</pre>▼
=={{header|BASIC}}==
Line 200 ⟶ 166:
</pre>
▲=={{header|C++}}==
▲<lang cpp>#include <iostream>
▲#include <random>
▲int main() {
▲ std::cout.imbue(std::locale(""));
▲ const int experiments = 1000000;
▲ std::random_device dev;
▲ std::default_random_engine engine(dev());
▲ std::uniform_int_distribution<int> distribution(0, 1);
▲ int heads = 0, wakenings = 0;
▲ for (int i = 0; i < experiments; ++i) {
▲ ++wakenings;
▲ switch (distribution(engine)) {
▲ case 0: // heads
▲ ++heads;
▲ break;
▲ case 1: // tails
▲ ++wakenings;
▲ break;
▲ }
▲ }
▲ std::cout << "Wakenings over " << experiments
▲ << " experiments: " << wakenings << '\n';
▲ std::cout << "Sleeping Beauty should estimate a credence of: "
▲ << double(heads) / wakenings << '\n';
▲}</lang>
▲{{out}}
▲<pre>
▲Wakenings over 1,000,000 experiments: 1,500,090
▲Sleeping Beauty should estimate a credence of: 0.333253
▲</pre>
=={{header|Dyalect}}==
|