[Resolvido] antigo conto da rainha e monge
pessoal favor me ajudem, vi tópicos antigos sobre isso, mas o povo não postou o que tentou fazer querendo a vara a isca e o peixe... rs
Porém eu tô tentando fazer aqui a resposta dessa questão:
3) Uma rainha requisitou os serviços de um monge e disse-lhe que pagaria qualquer preço. O monge, necessitando de alimentos, indagou à rainha sobre o pagamento, se poderia ser feito com grãos de trigo dispostos em um tabuleiro de xadrez, de tal forma que o primeiro quadro deveria conter apenas um grão e os quadros subsequentes, o dobro do quadro anterior. A rainha achou o trabalho barato e pediu que o serviço fosse executado, sem se dar conta de que seria impossível efetuar o pagamento. Faça um algoritmo para calcular o número de grãos que o monge esperava receber.
fiz o seguinte usando visualG:
algoritmo "O monge e a Rainha"
// Função : 3) Uma rainha requisitou os serviços de um monge e disse-lhe que pagaria qualquer preço.
//O monge, necessitando de alimentos, indagou à rainha sobre o pagamento, se poderia ser feito com
//grãos de trigo dispostos em um tabuleiro de xadrez, de tal forma que o primeiro quadro deveria
//conter apenas um grão e os quadros subsequentes, o dobro do quadro anterior. A rainha achou o
//trabalho barato e pediu que o serviço fosse executado, sem se dar conta de que seria impossível
//efetuar o pagamento. Faça um algoritmo para calcular o número de grãos que o monge esperava receber.
// Autor : Daniel Nogueira
// Data : 21/4/2011
// Seção de Declarações
var
cont, totalgraos, somagraos:inteiro
inicio
// Seção de Comandos
cont<- 0
totalgraos<- 1
somagraos<- 0
para cont de 1 ate <= 64 passo 1 faca
se (cont > 1) entao
//multiplica totalgraos x 2
totalgraos<- totalgraos*2
//soma o totalgraos e acumula com o somagraos
somagraos<- somagraos+totalgraos
fimse
escreval("Quadro do xadrez ", cont, " tem ", totalgraos, "Grãos.")
//acumula contador até chegar 64 para o looping para
cont<- cont+1
fimpara
escreva("Serão pagos ", somagraos, " grãos.")
fimalgoritmo
O que eu queria saber é se este código está correto, pois quando a variavel "cont" chega em 31 ou 32 ela dá um erro escrito: integer overflow que traduzindo: Transbordamento de inteiros:
/applications/core/interface/imageproxy/imageproxy.php?img=http://img16.imageshack.us/img16/7521/integeroverflow.jpg&key=8d216d7a1bc8e26f697b37cfd6e56b7643156c5eeddff74fd3326cdb69aaa91e" alt="integeroverflow.jpg" />
Discussão (2)
Carregando comentários...