Sleeping Beauty problem: Difference between revisions

m
Move C++ to the right alphabetical position
(add gwbasic)
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}}==
2,094

edits