Lisp: Jak uzyskać wszystkie możliwe kombinacje elementów z list znajdujących się na liście?

Muszę napisać funkcję w Common-Lisp, która pobiera listę list i zwraca listę zawierającą wszystkie możliwe kombinacje elementów z podlist.

Na przykład wywołanie funkcji na liście, takiej jak ((1 2) (1 2)), powinno zwrócić listę, taką jak ((1 1) (1 2) (2 1) (2 2)). Lista wprowadzania może mieć dowolną długość, a podlisty nie są gwarantowane, aby miały tę samą długość.

Wiem, jak to uzyskać za pomocą sparowanych elementów z podlisty (wprowadzanie ((1 2) (1 2)) zwraca ((1 1) (2 2)), ale to nie jest wystarczająco dobre dla algorytmu spójności łuku Jestem próbuję pisać, a ja utknąłem.

Dziękuję Ci.

questionAnswers(2)

yourAnswerToTheQuestion