Quantos porcos e quantas galinhas?

Um fazendeiro tem um bando de porcos e um bando de galinhas.
Ele sai para o terreiro e observa 20 cabeças e 56 pernas.
Quantos porcos e quantas galinhas que ele tem?

Observando o algoritmo você vai pareceber que ele trabalha por força bruta, tentando cada opção até chegar ao equilíbrio das igualdades.

Não deixe de ler a solução do
Mangnun Leno neste link

Obs: este conteúdo chegou aqui graças a esta aula de Ciência da computação do MIT disponível no youtube.




4 comentários:

  1. Olá Sérgio! Sou leito assíduo do seu blog. Geralmente não comento, mas nesse post eu tinha que deixar uma comentário.

    Quando vi esse problema e o código em Python, lembrei na hora das minhas aulas de algebra linear e calculo numérico com o matlab.

    Escrevi algumas linhas que resolvem a mesma questão. Meu objetivo não é dizer qual código é melhor/mais eficiente, mas mostrar a facilidade do Python e as bibliotecas poderosas que ele tem.

    Continue postando sobre Python no seu blog! Até mais...

    Magnun
    (http://under-linux.org/blogs/magnun/)

    from scipy import matrix

    def resolve_fazenda(cabecas, pes,):
    # 1*galinhas + 1*porcos = cabecas
    # 2*galinhas + 4*porcos = pes
    sistema = matrix([[ 1.0, 4.0], # Coeficiente de porcos
    [ 1.0, 2.0]], # Coeficiente de galinhas
    )
    valores = matrix([[cabecas, pes]])
    solucao = valores*sistema.getI()
    print 'Tem %s porcos e %s galinhas na fazenda!'%(float(solucao.trace(0)), float(solucao.trace(1)))

    resolve_fazenda(20, 56)
    resolve_fazenda(21, 62)

    ResponderExcluir
  2. Magnun, fico feliz em ajudar. Obrigado por sua valorosa contribuição.

    ResponderExcluir
  3. Quase esqueço. Magnun, daria para explicar um pouco o algoritmo proposto por você?

    ResponderExcluir
  4. Olá Sergio! Postei no meu blog uma explicação do método que eu usei: http://under-linux.org/blogs/magnun/quantos-porcos-e-quantas-galinhas-1856/

    Enquanto escrevi percebi que tem uma maneira bem mais simples pra resolver. Depois de uma passada por lá! Se eu não tiver sido muito claro na explicação, entre em contato comigo, agente bate um papo e esclarece tudo!

    Até mais cara!

    ResponderExcluir

Insira seu comentário - O mesmo será submetido à aprovação!

linux-cookbook

Grupos do Google
Participe do grupo linux-cookbook
E-mail:
Visitar este grupo