Brincadeira com lógica e PHP de uma compra de um carro por R$0,01 centavo

Durante umas férias em Ilhéus – BA com a família reunida em conversa de bar, meu sogro, muito divertido por sinal, me perguntou se eu queria comprar o carro dele.

Rah! Já esperei uma boa pegadinha…

A proposta era a seguinte: no primeiro dia eu pagaria apenas R$0,01 centavo.

Isso mesmo um centavo! E nos dias subsequentes eu pagaria o dobro do valor do dia anterior até completar 30 dias.

Ou seja, no primeiro dia R$0,01, no segundo dia R$0,02, no terceiro dia R$0,04, até o 30º dia.

Será que essa proposta vale a pena? Inicialmente parece tentatora… Ora ora! Apenas alguns centavos…

Logo, antes de responder fui correndo para o notebook fazer uma simples rotina de programação e ver qual seria o resultado.

Seria assim:

    
        $vlr = 0.01; //valor do primeiro dia //laço para contabilizar os 30 dias 
        for ($i=1;$i<=30;$i++) { 
            $valor = number_format($vlr, 2); //formata o número com 2 casas decimais 
            echo "Dia {$i} => {$valor}"; //imprime o valor do dia 
            $vlr = 2*$vlr; //cálculo que dobra o valor do dia anterior 
        }
    

E o resultado:

    
        Dia 1 => 0.01
        Dia 2 => 0.02
        Dia 3 => 0.04
        Dia 4 => 0.08
        Dia 5 => 0.16
        Dia 6 => 0.32
        Dia 7 => 0.64
        Dia 8 => 1.28
        Dia 9 => 2.56
        Dia 10 => 5.12
        Dia 11 => 10.24
        Dia 12 => 20.48
        Dia 13 => 40.96
        Dia 14 => 81.92
        Dia 15 => 163.84
        Dia 16 => 327.68
        Dia 17 => 655.36
        Dia 18 => 1,310.72
        Dia 19 => 2,621.44
        Dia 20 => 5,242.88
        Dia 21 => 10,485.76
        Dia 22 => 20,971.52
        Dia 23 => 41,943.04
        Dia 24 => 83,886.08
        Dia 25 => 167,772.16
        Dia 26 => 335,544.32
        Dia 27 => 671,088.64
        Dia 28 => 1,342,177.28
        Dia 29 => 2,684,354.56
        Dia 30 => 5,368,709.12
    

Agora imagine o valor depois dos 30 dias, eu teria pago R$ 5,368,709.12.

Só tem esperto! kkkk

Fora a brincadeira pessoal, o grande feito de um programador é saber pegar um problema, entender/interpretar e transformá-lo em uma rotina de programação simples e de fácil manutenção.

Espero que tenham gostado da diversão e caso tenha algum problema deste gênero, poste nos comentários para compartilhar.

Abraços.