Jogos de tabuleiro são atividades comuns de entretenimento na vida cotidiana das pessoas. Uma de suas características é a necessidade do uso de um tabuleiro com localizações bem definidas para o posicionamento de peças, podendo indicar também as fases do jogo. No livro 0 Homem que Calculava, de Malba Tahan (São Paulo: Record, 2002, p.120), há uma história na qual um rei deveria efetuar o pagamento pelos serviços de um de seus conselheiros, dando-lhe uma certa quantidade de grãos de trigo a ser calculada da seguinte forma: coloca-se 1 grão de trigo na primeira casa do tabuleiro, 2 na segunda casa, 4 na terceira casa, 8 na quarta casa e assim dobrando-se sucessivamente até a última casa.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Considerando o tabuleiro
ilustrado acima, contendo a indicação da ordem das casas, construa um único algoritmo que:
Calcule, armazene em uma estrutura e escreva em ordem a quantidade de grãos de trigo em cada casa do tabuleiro;
1 | 2 | 3 | 4 |
5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 |
Calcule, armazene em uma estrutura e escreva em ordem a quantidade de grãos de trigo em cada casa do tabuleiro;
Passo 1
Beleza, vamos entender o que a questão pede. Temos um tabuleiro de 4x4 casas, totalizando 16 casas. A ideia é colocar grãos de trigo nas casas de forma que cada casa tenha o dobro da quantidade da casa anterior. Isso é uma progressão geométrica onde cada termo é multiplicado por 2. Para resolver isso, vamos precisar calcular a quantidade de grãos em cada casa, armazenar esses valores em uma estrutura de dados (como uma lista) e depois imprimir esses valores na ordem das casas.
Passo 2
Primeiro, vamos identificar a quantidade de grãos em cada casa. A primeira casa tem 1 grão. A segunda casa tem 2 grãos (1x2), a terceira tem 4 grãos (2x2), e assim por diante. A fórmula geral para a quantidade de grãos na
-ésima casa é:
Onde
é a quantidade de grãos na casa
.
Passo 3
Agora, vamos calcular os grãos para cada uma das 16 casas usando a fórmula acima:
Passo 4
Vamos armazenar esses valores em uma estrutura de dados. A maneira mais simples é usar uma lista onde cada índice representa a casa do tabuleiro. Por exemplo, o índice 0 da lista será a casa 1, o índice 1 será a casa 2, e assim por diante.
grãos = []
for n in range(1, 17):
grãos.append(2**(n-1))
Passo 5
Finalmente, vamos imprimir a quantidade de grãos em cada casa na ordem correta. Podemos percorrer a lista e imprimir cada valor juntamente com o número da casa.
for i, quantidade in enumerate(grãos, start=1):
print(f"Casa {i}: {quantidade} grãos de trigo")
Resposta
A quantidade de grãos de trigo em cada casa do tabuleiro é:
Casa 1: 1 grão de trigo
Casa 2: 2 grãos de trigo
Casa 3: 4 grãos de trigo
Casa 4: 8 grãos de trigo
Casa 5: 16 grãos de trigo
Casa 6: 32 grãos de trigo
Casa 7: 64 grãos de trigo
Casa 8: 128 grãos de trigo
Casa 9: 256 grãos de trigo
Casa 10: 512 grãos de trigo
Casa 11: 1024 grãos de trigo
Casa 12: 2048 grãos de trigo
Casa 13: 4096 grãos de trigo
Casa 14: 8192 grãos de trigo
Casa 15: 16384 grãos de trigo
Casa 16: 32768 grãos de trigo
Casa 2: 2 grãos de trigo
Casa 3: 4 grãos de trigo
Casa 4: 8 grãos de trigo
Casa 5: 16 grãos de trigo
Casa 6: 32 grãos de trigo
Casa 7: 64 grãos de trigo
Casa 8: 128 grãos de trigo
Casa 9: 256 grãos de trigo
Casa 10: 512 grãos de trigo
Casa 11: 1024 grãos de trigo
Casa 12: 2048 grãos de trigo
Casa 13: 4096 grãos de trigo
Casa 14: 8192 grãos de trigo
Casa 15: 16384 grãos de trigo
Casa 16: 32768 grãos de trigo