terça-feira, 5 de outubro de 2010

Como enriquecer com informática

Eu já escutei mais de uma vez que não se pode ganhar dinheiro com informática. Obviamente, os desiludidos referiam-se a muito dinheiro.

Eu tenho certeza de que estão errados, porque dentre os mais ricos do mundo estão vários programadores. Bill Gates escreveu um BASIC e Larry Ellison escreveu um banco de dados, por exemplo.

Talvez essas pessoas simplesmente não saibam ganhar muito dinheiro e, portanto, mudar de profissão não vai ajudar em nada. Ou talvez não tenham realmente tentado. Parece-me que, para ser realmente rico, é preciso fazer algo diferente do que todo mundo está fazendo.

Atualmente, estou colocando muita fé na loteria. Sim, eu sei que todo mundo está fazendo isso. Então, para fazer algo diferente, resolvi aplicar minhas habilidades: escrevi um programa para procurar as combinações mais freqüentes nos números ganhadores. Eu procurei os números, as duplas, os trios, etc.

Para achar as combinações escrevi uma pequena função que recebe uma referência a uma lista e uma referência a uma função. Ela conta de 1 a 2n-1 e monta uma sub-lista conforme os bits que estiverem ativados no número corrente.

Então, se eu tiver uma lista de 6 números, a função vai contar de 1 a 63. Em binário, é de 1 (o primeiro item selecionado) a 111111 (todos os itens selecionados). A cada iteração, ela invoca a função passada como parâmetro para que essa contabilize a ocorrência.

sub combinations {
my ($array, $callback)=@_;
my $n=scalar(@$array);

for my $i (1..(2**$n)-1) {
my @t=();
for my $index (0..$n-1) {
push(@t, $$array[$index]) if $i & 2**$index;
}
&$callback(@t);
}
}

Quem quiser o código fonte completo e os números ganhadores deve me enviar R$100.

Um comentário:

Anônimo disse...

Pagarei os 100 reais depois de comparecer à Caixa Economica com o bilhete premiado. Pode ser? rsrsrsrs