Buscar

Na matriz de 20x20 abaixo, quatro números ao longo de uma linha diagonal foram marcadas em negrito. O produto desses números é 26 * 63* 78 * 14 = 1...

Na matriz de 20x20 abaixo, quatro números ao longo de uma linha diagonal foram marcadas em negrito. O produto desses números é 26 * 63* 78 * 14 = 1788696. Qual é o maior produto de quatro números adjacentes em qualquer direção (cima, baixo, esquerda, direita, ou na diagonal) na matriz de 20x20?

O enunciado apresenta uma matriz de 20x20.
O enunciado destaca quatro números ao longo de uma linha diagonal.
O enunciado informa o produto desses quatro números.
O enunciado pede para encontrar o maior produto de quatro números adjacentes em qualquer direção na matriz de 20x20.

Essa pergunta também está no material:

Exercícios de Vetores e Matrizes em Python
7 pág.

💡 1 Resposta

User badge image

Ed Verified user icon

Para encontrar o maior produto de quatro números adjacentes em qualquer direção na matriz de 20x20, é necessário percorrer toda a matriz e calcular o produto de cada conjunto de quatro números adjacentes em todas as direções (cima, baixo, esquerda, direita e diagonal). O maior produto encontrado será a resposta. Existem diversas maneiras de resolver esse problema, mas uma possível solução é utilizar quatro loops aninhados para percorrer a matriz e calcular o produto de cada conjunto de quatro números adjacentes. Durante o percurso, é necessário verificar se os índices não ultrapassam os limites da matriz. Segue abaixo um exemplo de código em Python que resolve esse problema: ``` matriz = [[int(input()) for j in range(20)] for i in range(20)] # leitura da matriz maior_produto = 0 # percorre a matriz em todas as direções for i in range(20): for j in range(20): # verifica se é possível calcular o produto para a direita if j + 3 < 20: produto = matriz[i][j] * matriz[i][j+1] * matriz[i][j+2] * matriz[i][j+3] if produto > maior_produto: maior_produto = produto # verifica se é possível calcular o produto para baixo if i + 3 < 20: produto = matriz[i][j] * matriz[i+1][j] * matriz[i+2][j] * matriz[i+3][j] if produto > maior_produto: maior_produto = produto # verifica se é possível calcular o produto na diagonal para a direita if i + 3 < 20 and j + 3 < 20: produto = matriz[i][j] * matriz[i+1][j+1] * matriz[i+2][j+2] * matriz[i+3][j+3] if produto > maior_produto: maior_produto = produto # verifica se é possível calcular o produto na diagonal para a esquerda if i + 3 < 20 and j - 3 >= 0: produto = matriz[i][j] * matriz[i+1][j-1] * matriz[i+2][j-2] * matriz[i+3][j-3] if produto > maior_produto: maior_produto = produto print(maior_produto) # imprime o maior produto encontrado ```

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais