#include <iostream>
using namespace std;
int main() {
int max_opportunities = 8; // Total number of chances to flip.
float flip_chance = 0.2; // Probability of flipping each opportunity.
float probability_true = 1.0; // Starting probability of truth.
// 1.0 is "definitely true" and 0.0 is
// "definitely false", but you can extend this
// to situations where the initial value is not
// certain (say, 0.8 = 80% probably true) and
// it will work just as well.
for (int opportunities = 0; opportunities < max_opportunities; ++opportunities)
{
probability_true = probability_true * (1 - flip_chance) +
(1 - probability_true) * flip_chance;
}
cout << probability_true << endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7CglpbnQgICBtYXhfb3Bwb3J0dW5pdGllcyA9IDg7ICAvLyBUb3RhbCBudW1iZXIgb2YgY2hhbmNlcyB0byBmbGlwLgogICAgZmxvYXQgZmxpcF9jaGFuY2UgPSAwLjI7ICAgICAgLy8gUHJvYmFiaWxpdHkgb2YgZmxpcHBpbmcgZWFjaCBvcHBvcnR1bml0eS4KICAgIGZsb2F0IHByb2JhYmlsaXR5X3RydWUgPSAxLjA7IC8vIFN0YXJ0aW5nIHByb2JhYmlsaXR5IG9mIHRydXRoLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMS4wIGlzICJkZWZpbml0ZWx5IHRydWUiIGFuZCAwLjAgaXMgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAiZGVmaW5pdGVseSBmYWxzZSIsIGJ1dCB5b3UgY2FuIGV4dGVuZCB0aGlzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyB0byBzaXR1YXRpb25zIHdoZXJlIHRoZSBpbml0aWFsIHZhbHVlIGlzIG5vdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2VydGFpbiAoc2F5LCAwLjggPSA4MCUgcHJvYmFibHkgdHJ1ZSkgYW5kCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpdCB3aWxsIHdvcmsganVzdCBhcyB3ZWxsLgogICAgZm9yIChpbnQgb3Bwb3J0dW5pdGllcyA9IDA7IG9wcG9ydHVuaXRpZXMgPCBtYXhfb3Bwb3J0dW5pdGllczsgKytvcHBvcnR1bml0aWVzKQogICAgewogICAgICAgIHByb2JhYmlsaXR5X3RydWUgPSBwcm9iYWJpbGl0eV90cnVlICogKDEgLSBmbGlwX2NoYW5jZSkgKyAKICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgLSBwcm9iYWJpbGl0eV90cnVlKSAqIGZsaXBfY2hhbmNlOwogICAgfQogICAgCiAgICBjb3V0IDw8IHByb2JhYmlsaXR5X3RydWUgPDwgZW5kbDsKfQ==