Exercícios Resolvidos de Algoritmos

Ver Teoria

Enunciado

O Dexter, mascote do Responde Aí, precisa de exatamente 4L de água pra tomar banho. Mas ele só tem uma torneira e dois recipientes, A e B, com capacidades de 5L e 3L, respectivamente.

Escreva um algoritmo que consiga deixar exatamente 4L de água no recipiente A pra ajudar o Dexter.

Passo 1

E aí, seu doido! Nesse exercício a gente precisa utilizar a combinação dos dois recipientes pra conseguir os 4L de água que o Dexter precisa.

A primeira coisa que a gente tem que ter em mente é que não existe apenas uma solução. Exercícios de programação costumam ter várias respostas possíveis, mas a melhor solução é a que dá menos trabalho (menos etapas). Então, se você conseguiu de outra forma e com o mesmo número de etapas (ou menos), não tá errado, ok?!

Vamo lá! A gente pode começar enchendo o recipiente A.

Passo 2

Aí a gente despeja tudo que der no recipiente B

Se liga que agora a gente tem 2L no A e 3L no B.

Passo 3

O que a gente pode fazer é descartar tudo que tá no recipiente B. Agora, a gente sabe que só tem 2L de água no A.

Passo 4

E a gente pode despejar os 2L que restam em A no B!

Agora, o B tem 2L, e falta 1L pra chegar ao seu limite. Enquanto isso, o A ficou vazio!

Passo 5

A gente pode encher de novo o recipiente A!

Passo 6

Agora, se liga só, a gente pode despejar o conteúdo de A até preencher o B (que faltava 1L). O resultado é que vamos ter 4L no recipiente A.

Aeee! Agora sim o Dexter pode tomar banho com a quantidade de água que ele gosta!

Te vejo no próximo exercício!

Resposta