Inspirado (com a explicação roubada) desta
fundo
Digamos que você tenha duas listas A = [a_1, a_2, ..., a_n]e B = [b_1, b_2, ..., b_n]números inteiros. Dizemos que Aé potencialmente divisível por Bse existe uma permutação Bque torna a_idivisível por b_itodos i. O problema é então: é possível reordenar (isto é, permutar) Bpara que a_iseja divisível por b_itodos i? Por exemplo, se você tiver
A = [6, 12, 8]
B = [3, 4, 6]
Então a resposta seria True, como Bpodem ser reordenados para ser B = [3, 6, 4]e então teríamos que a_1 / b_1 = 2, a_2 / b_2 = 2e a_3 / b_3 = 2, todos os quais são inteiros, então Aé potencialmente divisível por B.
Como um exemplo que deve Falsegerar, poderíamos ter:
A = [10, 12, 6, 5, 21, 25]
B = [2, 7, 5, 3, 12, 3]
A razão Falseé que não podemos reordenar, Bpois 25 e 5 estão dentro A, mas o único divisor em Bseria 5, então um seria deixado de fora.
Sua tarefa
Sua tarefa é, obviamente, determinar se duas listas (fornecidas como entrada) são potencialmente divisíveis. Você pode receber informações de qualquer maneira aceita, como na saída.
As duplicatas nas listas são uma possibilidade e as únicas restrições de tamanho nos números inteiros são o seu idioma. Todos os números inteiros nas duas listas serão maiores que 0 e as duas listas terão o mesmo tamanho.
Como em todos os problemas de decisão, os valores de saída devem ser 2 valores distintos que representam verdadeiro e falso.
Este é um código de golfe, então o código mais curto vence!
Casos de teste
Input, input => output
[6, 12, 8], [3, 4, 6] => True
[10, 5, 7], [1, 5, 100] => False
[14, 10053, 6, 9] [1,1,1,1] => True
[12] [7] => False
[0, 6, 19, 1, 3] [2, 3, 4, 5, 6] => undefined