#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main( ) {
int PORTAS[ ] = { 0 , 0 , 0 } ; // 0 - a porta contém uma cabra; 1 - a porta contém o carro
int ESTAT[ ] = { 0 , 0 , 0 } ; // {Tentativas, vitórias, derrotas}
int repeticoes;
int DECISAO;
printf ( "1 para trocar todas, 0 para manter todas: " ) ; printf ( "Digite o número de repetições: " ) ; // Recomendável 10, 100 ou 1000. scanf ( "%d" , & repeticoes
) ; int NUM = repeticoes;
do {
int AUX;
int CAR
= rand ( ) % 3 ; // Randomiza a porta que recebe o carro. PORTAS[ CAR] = 1 ;
int ESC
= rand ( ) % 3 ; // Randomiza a escolha da porta. if ( DECISAO == 1 ) { // Se foi escolhido trocar todas as vezes.
if ( PORTAS[ ESC] == 1 ) { // Porta escolhida contém o carro.
for ( AUX = 0 ; AUX < 3 ; AUX++ ) {
if ( PORTAS[ AUX] != 1 && AUX != ESC) {
ESC = AUX; //Mudança de porta
AUX = 3 ; // Para quebrar o 'For'
ESTAT[ 2 ] += 1 ;
}
}
}
if ( PORTAS[ ESC] == 0 ) { //Porta escolhida contém uma cabra.
ESC = CAR; // Pois sendo a porta errada, e tendo a outra errada sido revelada, só sobrou a correta.
ESTAT[ 1 ] += 1 ;
}
}
if ( DECISAO == 0 ) { //Caso tenha sido escolhido manter todas as vezes.
if ( ESC == CAR ) ESTAT[ 1 ] += 1 ;
else ESTAT[ 2 ] += 1 ;
}
NUM--;
ESTAT[ 0 ] += 1 ;
} while ( NUM > 0 ) ;
float VIT = ( ESTAT[ 2 ] / repeticoes) * 100 ; // Porcentagem de vitórias *ERRO*
float DER = ( ESTAT[ 3 ] / repeticoes) * 100 ; // Porcentagem de derrotas *ERRO*
( DECISAO
== 1 ) ? printf ( "\n \n \n \t Trocando de porta todas as vezes: \n \n " ) : printf ( "\n \n \n \t Mantendo a porta todas as vezes: \n \n " ) ; printf ( "Número de tentativas: %d\n " , ESTAT
[ 0 ] ) ; printf ( "Número de vitórias: %d, %f%% do total.\n " , ESTAT
[ 1 ] , VIT
) ; printf ( "Número de derrotas: %d, %f%% do total." , ESTAT
[ 2 ] , DER
) ; }
//https://pt.stackoverflow.com/q/100177/101
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPG1hdGguaD4KCmludCBtYWluKCkgewogICAgaW50IFBPUlRBU1tdID0gezAsIDAsIDB9OyAgLy8gMCAtIGEgcG9ydGEgY29udMOpbSB1bWEgY2FicmE7IDEgLSBhIHBvcnRhIGNvbnTDqW0gbyBjYXJybyAKICAgIGludCBFU1RBVFtdID0gezAsIDAsIDB9OyAgIC8vIHtUZW50YXRpdmFzLCB2aXTDs3JpYXMsIGRlcnJvdGFzfQogICAgaW50IHJlcGV0aWNvZXM7CiAgICBpbnQgREVDSVNBTzsKICAgIHByaW50ZigiMSBwYXJhIHRyb2NhciB0b2RhcywgMCBwYXJhIG1hbnRlciB0b2RhczogIik7CiAgICBzY2FuZiAoIiVkIiwgJkRFQ0lTQU8pOwogICAgcHJpbnRmICgiRGlnaXRlIG8gbsO6bWVybyBkZSByZXBldGnDp8O1ZXM6ICIpOyAvLyBSZWNvbWVuZMOhdmVsIDEwLCAxMDAgb3UgMTAwMC4KICAgIHNjYW5mICgiJWQiLCAmcmVwZXRpY29lcyk7CiAgICBpbnQgTlVNID0gcmVwZXRpY29lczsKICAgIGRvIHsKICAgIAlpbnQgQVVYOwogICAgCWludCBDQVIgPSByYW5kICgpICUzOyAgIC8vIFJhbmRvbWl6YSBhIHBvcnRhIHF1ZSByZWNlYmUgbyBjYXJyby4KICAgICAgICBQT1JUQVNbQ0FSXSA9IDE7ICAgCiAgICAgICAgaW50IEVTQyA9IHJhbmQgKCkgJTM7ICAgLy8gUmFuZG9taXphIGEgZXNjb2xoYSBkYSBwb3J0YS4KICAgICAgICBpZiAoREVDSVNBTyA9PSAxKSB7ICAgIC8vIFNlIGZvaSBlc2NvbGhpZG8gdHJvY2FyIHRvZGFzIGFzIHZlemVzLgogICAgICAgICAgICBpZiAoUE9SVEFTW0VTQ10gPT0gMSApIHsgICAvLyBQb3J0YSBlc2NvbGhpZGEgY29udMOpbSBvIGNhcnJvLgogICAgICAgICAgICAgICAgZm9yIChBVVggPSAwOyBBVVggPCAzIDsgQVVYKyspIHsKICAgICAgICAgICAgICAgICAgICBpZiAoUE9SVEFTW0FVWF0gIT0gMSAmJiBBVVggIT0gRVNDKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIEVTQyA9IEFVWDsgICAgICAvL011ZGFuw6dhIGRlIHBvcnRhCiAgICAgICAgICAgICAgICAgICAgICAgIEFVWCA9IDM7ICAgIC8vIFBhcmEgcXVlYnJhciBvICdGb3InCiAgICAgICAgICAgICAgICAgICAgICAgIEVTVEFUWzJdICs9IDE7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGlmIChQT1JUQVNbRVNDXSA9PSAwKSB7ICAgIC8vUG9ydGEgZXNjb2xoaWRhIGNvbnTDqW0gdW1hIGNhYnJhLgogICAgICAgICAgICAgICAgRVNDID0gQ0FSOyAgLy8gUG9pcyBzZW5kbyBhIHBvcnRhIGVycmFkYSwgZSB0ZW5kbyBhIG91dHJhIGVycmFkYSBzaWRvIHJldmVsYWRhLCBzw7Mgc29icm91IGEgY29ycmV0YS4KICAgICAgICAgICAgICAgIEVTVEFUWzFdICs9IDE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgaWYgKERFQ0lTQU8gPT0gMCkgeyAgICAgLy9DYXNvIHRlbmhhIHNpZG8gZXNjb2xoaWRvIG1hbnRlciB0b2RhcyBhcyB2ZXplcy4KICAgICAgICAgICAgaWYgKEVTQyA9PSBDQVIgKSBFU1RBVFsxXSArPSAxOwogICAgICAgICAgICBlbHNlICBFU1RBVFsyXSArPSAxOwogICAgICAgIH0KICAgICAgICBOVU0tLTsKICAgICAgICBFU1RBVFswXSArPSAxOwogICAgfSB3aGlsZSAoTlVNID4gMCk7CiAgICBmbG9hdCBWSVQgPSAoRVNUQVRbMl0gLyByZXBldGljb2VzKSAqIDEwMDsgLy8gUG9yY2VudGFnZW0gZGUgdml0w7NyaWFzICAqRVJSTyoKICAgIGZsb2F0IERFUiA9IChFU1RBVFszXSAvIHJlcGV0aWNvZXMpICogMTAwOyAvLyBQb3JjZW50YWdlbSBkZSBkZXJyb3RhcyAgKkVSUk8qCiAgICAoREVDSVNBTyA9PSAxKSA/IHByaW50ZigiXG5cblxuXHRUcm9jYW5kbyBkZSBwb3J0YSB0b2RhcyBhcyB2ZXplczogXG5cbiIpIDogcHJpbnRmKCJcblxuXG5cdE1hbnRlbmRvIGEgcG9ydGEgdG9kYXMgYXMgdmV6ZXM6IFxuXG4iKTsKICAgIHByaW50ZigiTsO6bWVybyBkZSB0ZW50YXRpdmFzOiAlZFxuIiwgRVNUQVRbMF0pOwogICAgcHJpbnRmKCJOw7ptZXJvIGRlIHZpdMOzcmlhczogJWQsICVmJSUgZG8gdG90YWwuXG4iLCBFU1RBVFsxXSwgVklUKTsKICAgIHByaW50ZigiTsO6bWVybyBkZSBkZXJyb3RhczogJWQsICVmJSUgZG8gdG90YWwuIiwgRVNUQVRbMl0sIERFUik7Cn0KCi8vaHR0cHM6Ly9wdC5zdGFja292ZXJmbG93LmNvbS9xLzEwMDE3Ny8xMDE=