Memoização simples
Memoização é uma técnica que evita recomputar valores já calculados, salvando tempo em operações repetitivas. Em jogos, simulações ou processamento de dados, onde a mesma função é chamada várias vezes com os mesmos argumentos, armazenar resultados em cache pode acelerar o código drasticamente. Dominar isso com um dicionário simples é o primeiro passo para otimizações mais complexas.
O PROBLEMA
Função que calcula quadrado(n) e armazena em cache para não recalcular.
EXEMPLO
quadrado(4) → 16 (cache)
SOBRE O CONCEITO
A memoização usa um dicionário para guardar resultados já calculados. Antes de calcular quadrado(n), a função verifica se n já está no cache com if n in cache:. Se estiver, retorna o valor salvo sem recalcular. O erro comum é pular essa verificação e sempre rodar o cálculo, desperdiçando tempo. Por exemplo, se você chama quadrado(4) várias vezes, sem cache o Python refaz 4**2 toda vez. Com cache, apenas na primeira vez ele calcula; nas seguintes, busca direto no dicionário. Usar ** para potência é permitido, e o dicionário deve ser definido fora da função para persistir entre chamadas.
RESOLUÇÃO