Inspiriert (mit der gestohlenen Erklärung) davon
Hintergrund
Angenommen, Sie haben zwei Listen A = [a_1, a_2, ..., a_n]und B = [b_1, b_2, ..., b_n]ganze Zahlen. Wir sagen, es Aist potentiell teilbar durch, Bwenn es eine Permutation gibt B, die es für alle a_iteilbar macht . Das Problem ist dann: Ist es möglich, neu zu ordnen (dh zu permutieren), so dass es für alle teilbar ist ? Zum Beispiel, wenn Sie habenb_iiBa_ib_ii
A = [6, 12, 8]
B = [3, 4, 6]
Dann wäre die Antwort True, wie Bneu geordnet werden kann zu sein , B = [3, 6, 4]und dann würden wir das haben a_1 / b_1 = 2, a_2 / b_2 = 2und a_3 / b_3 = 2, von denen alle ganze Zahlen sind, so Aist potentiell teilbar durch B.
Als ein Beispiel, das ausgegeben werden sollte False, könnten wir haben:
A = [10, 12, 6, 5, 21, 25]
B = [2, 7, 5, 3, 12, 3]
Der Grund dafür ist, Falsedass wir die Reihenfolge nicht ändern können, Bda 25 und 5 eingegeben Awurden, der einzige Teiler Bjedoch 5 wäre, sodass einer weggelassen würde.
Deine Aufgabe
Ihre Aufgabe ist es natürlich, festzustellen, ob zwei Listen (als Eingabe angegeben) möglicherweise teilbar sind. Sie können Eingaben auf jede akzeptierte Art und Weise vornehmen, wie dies auch bei Ausgaben der Fall ist.
Duplikate in den Listen sind möglich, und die einzigen Größenbeschränkungen für die Ganzzahlen sind Ihre Sprache. Alle Ganzzahlen in beiden Listen sind größer als 0 und beide Listen sind gleich groß.
Wie bei allen Entscheidungsproblemen müssen die Ausgabewerte 2 verschiedene Werte sein, die wahr und falsch darstellen.
Dies ist ein Code-Golf, also gewinnt der kürzeste Code!
Testfälle
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