Skip to content

Python: Contando grãos

22 março 2007

Clássico problema em lógica de programação:

Uma rainha requisitou os serviços de um monge e disse-lhe que pagaria
qualquer preço. O monge, necessitando de alimentos, perguntou à rainha
se o pagamento poderia ser feito com grãos de trigo dispostos em um
tabuleiro de xadrez, de tal forma que o primeiro quadro contivesse apenas
um grão e os quadros subseqüentes, o dobro do quadro anterior. A rainha
considerou o pagamento barato e pediu que o serviço fosse executado,
sem se dar conta de que seria impossível efetuar o pagamento.

Vamos calcular em Python quantos grãos o monge deve receber:

>>> graos=1
Atribuindo graos=1 eu digo que ele terá 1 grão no primeiro quadro.
>>> x=1
Inicio o contador
>>> while x<=63:
Conto os quadros até 63, pois já contei o grão do primeiro quadro.
… x=x+1
… graos=graos+graos*2
Adiciono o dobro de grãos do próximo quadro aos grãos que já tenho na variável grãos.

>>> graos
1144561273430837494885949696427L
Mostro o conteúdo da variável grãos, que é o resultado do problema.

Note que em Python o “L” no fim do número indica que se trata de um inteiro longo.

>>> type(graos)
<type ‘long’>

Abraços!

From → Python

Deixe um comentário

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: