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.