Bir tamsayı kümesi alan ve setin her permütasyonunu ve her adım arasında gerçekleştirilen takasları basan bir fonksiyon yazın
Giriş
bir tamsayı kümesi, örneğin (0, 1, 2)
Çıktı
(set) (takas) (set) biçimindeki permütasyon ve takasların listesi ...
Test durumu
Input:
(3, 1, 5)
Output:
(3, 1, 5)
(3, 1)
(1, 3, 5)
(3, 5)
(1, 5, 3)
(1, 3)
(3, 5, 1)
(3, 5)
(5, 3, 1)
(3, 1)
(5, 1, 3)
kurallar
- Sayı kümesini istediğiniz gibi biçimlendirebilirsiniz.
- Takasları istediğiniz sırayla yapabilirsiniz
- Yeni bir tane almak için permütasyonları ve takasları tekrarlayabilirsiniz.
- Kodunuzun takasları gerçekten gerçekleştirmesi gerekmez, çıktının sadece son çıktınız ile mevcut kodunuz arasında hangi takasın yapıldığını göstermesi gerekir
- Kodunuzun yalnızca 2 veya daha fazla öğeli kümeler için çalışması gerekir
- Verdiğiniz kümede yinelenen öğeler olmayacak (ör. (0, 1, 1, 2) geçersiz)
Bu kod golf, bu yüzden en kısa kod kazanır!
(3, 1, 4)o ilk takas çünkü çok karıştı ilk defa okuma - bu yüzden ya 0,1unsurları takas 0,1da ancak endeksleri 0,1sonraki o zaman, ama takas bu kalıbı takip etmedi. Ben de sizi işaret edeceğiz Sandbox sen zorlukları gönderebilir ve ana siteye yayınlanmadan önce geri bildirim almak nerede.