<?phpfunction MaiorIdade($data_nasc) { list($dia_nasc, $mes_nasc, $ano_nasc) = explode("/", $data_nasc); list($dia_hoje, $mes_hoje, $ano_hoje) = explode("/", date("d/m/Y", time())); return mktime(23, 59, 59, $mes_nasc, $dia_nasc, $ano_nasc) < mktime(00, 00, 00, $mes_hoje, $dia_hoje, $ano_hoje - 18);}$data = "25/10/1977";echo "Quem nasce em $data e " . (MaiorIdade($data) ? "maior" : "menor") . " de idade";?> O problema de Monty Hall, tambem conhecido por paradoxo de Monty Hall e um problema matematico e paradoxo que surgiu a partir de um concurso televisivo dos Estados Unidos chamado Lets Make a Deal, exibido na decada de 1970.O jogo consiste no seguinte: Monty Hall (o apresentador) apresentava 3 portas aos concorrentes, sabendo que atras de uma delas esta um carro (premio bom) e que as outras tem premios de pouco valor.Na 1a etapa o concorrente escolhe uma porta (que ainda nao e aberta);De seguida Monty abre uma das outras duas portas que o concorrente nao escolheu, sabendo a partida que o carro nao se encontra ai;Agora com duas portas apenas para escolher pois uma delas ja se viu, na 2a etapa, que nao tinha o premio e sabendo que o carro esta atras de uma delas, o concorrente tem que se decidir se permanece com a porta que escolheu no inicio do jogo e abre-a ou se muda para a outra porta que ainda esta fechada para entao a abrir.Qual e a estrategia mais logica? Ficar com a porta escolhida inicialmente ou mudar de porta? Com qual das duas portas ainda fechadas o concorrente tem mais probabilidades de ganhar? Por que?A resposta pode confundir a intuicao uma vez que mudar de porta aumenta a probabilidade de sucesso de 1/3 para 2/3.Contra codigo nao ha argumentos, por isso escrevi um algoritmo em um documento HTML para simular os resultados:<!DOCTYPE html><html> <body> </body> <script> function random(valorIni, valorFim) { var numRandom; do numRandom = Math.random(); while (numRandom == 1); return (numRandom * (valorFim - valorIni + 1) + valorIni) | 0; } var porta_premio, primeira_porta, segunda_porta, terceira_porta, muda_porta, escolha_final, ganha_premio, qtd_vezes_manteve_porta = 0, qtd_vezes_trocou_porta = 0, qtd_vitorias_trocando_porta = 0, qtd_vitorias_mantendo_porta = 0; function definePortaPremio() { porta_premio = random(1, 3); document.write('Porta do Premio: ' + porta_premio + ', '); } function escolhePrimeiraPorta() { primeira_porta = random(1, 3); document.write('Primeira porta escolhida: ' + primeira_porta + ', '); } function abreSegundaPorta() { for (var i = 1; i <= 3; i++) { if (i != primeira_porta && i != porta_premio) { segunda_porta = i; break; } } document.write('Porta aberta: ' + segunda_porta + ', '); } function escolheMudarOuNaoPorta() { muda_porta = random(0, 1); if (muda_porta) { qtd_vezes_trocou_porta++; document.write('Troca a porta? SIM, '); for (var i = 1; i <= 3; i++) { if (i != primeira_porta && i != segunda_porta) { escolha_final = i; break; } } ganha_premio = escolha_final == porta_premio; if (ganha_premio) qtd_vitorias_trocando_porta++; } else { qtd_vezes_manteve_porta++; document.write('Troca a porta? NAO, '); escolha_final = primeira_porta; ganha_premio = escolha_final == porta_premio; if (ganha_premio) qtd_vitorias_mantendo_porta++; } document.write('Escolha final: ' + escolha_final + ', '); document.write('Ganhou o premio? ' + (ganha_premio ? 'SIM' : 'NAO') + '<br/>'); } document.write('<pre>'); var qtd_tentativas = 10000; for (var i = 1;