O resumo
Crie um programa que gere uma matriz de tamanho aleatório com números aleatórios e aplique uma série de regras que alteram a matriz. Após a aplicação das regras, imprima a soma da matriz, a menos que especificado de outra forma
Configuração da matriz
A matriz deve ter um comprimento aleatório entre 5 e 10 inclusive, com números inteiros aleatórios entre 1 e 20 inclusive. Cada comprimento de matriz deve ter igual probabilidade de acontecer e cada número inteiro deve ter igual probabilidade de ser escolhido por elemento.
As 7 regras
As regras devem agir como se fossem aplicadas em sequência (por exemplo: a regra 1 atua antes da regra 2) e são aplicadas apenas uma vez. Para prova do aplicativo de regra, a matriz deve ser impressa no console após cada aplicativo de regra e uma vez antes da aplicação de qualquer regra.
- Se a matriz contiver 7, subtraia 1 de cada elemento
- Se a regra 1 for aplicada e a matriz agora contiver um 0, adicione 1 a cada elemento
- Se a matriz contiver 13, exclua 13 e todos os elementos a seguir da matriz
- Se a matriz contiver 2, exclua todos os números ímpares
- Se a matriz contiver 20 e o terceiro elemento for par, retorne 20 como a soma e finalize. Se um 20 estiver presente e o terceiro elemento for ímpar, retorne 20 vezes o comprimento da matriz como a soma e termine.
- Se a soma for maior que 50, remova o último elemento repetidamente até que seja menor ou igual a 50
- Se a matriz contiver 16, imprima a soma em decimal e hexadecimal.
Exemplo
Aqui está uma matriz inicial,
[20, 2, 5, 7, 14, 8]
A regra 1 pode ser aplicada:
[19, 1, 4, 6, 13, 7]
A regra 3 é aplicada a seguir:
[19, 1, 4, 6]
Nenhuma outra regra é necessária; portanto, o programa retorna 30 como a soma.
Notas
- Eu não sou um jogador de código experiente, embora eu possa dizer que meu registro pessoal está em Python 3 com 369 bytes .
- As regras não precisam ser realmente aplicadas em ordem, mas devem agir como se fossem.
[3 3 3 3 4 3]
e [4 4 3 4 4]
, cada uma com 50% de probabilidade, está em conformidade com o que está escrito em "configuração da matriz". Para que eu possa imprimir 19
sempre? (Claro, o que realmente penso é que a definição das necessidades "aleatórios" de ser esclarecido.)
If the array contains a 20, and the third element is even/odd
, e se a matriz tiver menos de 3 elementos nesta etapa?