Bir permütasyon bir dizi içinde a, örten fonksiyonu . Örneğin, ise \ pi: x \ mapsto 1 + (x + 1 \ mod 4) işlevi bir permütasyondur:π : S → S S = { 1 , 2 , 3 , 4 }
Sonsuz kümelerde permütasyonlara da sahip olabiliriz, örnek olarak örneğini alalım: fonksiyonu, tek ve hatta takas eden bir permütasyon iki blok halinde tamsayılar. İlk unsurlar aşağıdaki gibidir:
Meydan okuma
Bu görev için göreviniz , pozitif doğal sayılar üzerinde 1 permütasyon uygulayan bir fonksiyon / program yazmaktır . Çözümünüzün puanı, uygulanan permütasyon ile eşleştirildikten sonra kod noktalarının toplamıdır.
Misal
Python ile uygulanan yukarıdaki permütasyonu aldığımızı varsayalım:
def pi(x):
return x - 1 + 2*(x % 2)
Karakter 100d
kod noktasına sahiptir , \ texttt {pi} (100) = 99 . Bunu her karakter için yaparsak:
Tüm bu eşlenen karakterlerin toplamı , bu fonksiyonun puanıdır.
kurallar
Bir permütasyon uygulayacak bir fonksiyonu veya program olarak ya
- doğal bir sayı verildiğinde , dönüş / çıkış
- Bu zorluk amacıyla etmez değildir içeren 0
- permütasyon önemsiz bir şekilde sonsuz alt kümesine izin vermelidir
- işlevinizin / programınızın kendi kaynağını okumasına izin verilmiyor
puanlama
Skor, bu permütasyon altında tüm kod noktalarının (sıfır bayt kaynak kodun bir parçası olmayabilir) toplamı tarafından verilir (kod noktaları dilinize bağlıdır 2 , SBCS, UTF-8 vb. diliniz destekliyor).
En düşük puana sahip sunum kazanır, bağlar en erken sunumla kesilir.
Sadece sonlu bir alt kümesine izin veren permütasyonlar hariç , yani sonsuz olmalıdır.
Puanınızı artırırsa, örneğin normal SBCS yerine UTF-8 kodlu Jelly gönderimi kullanabilirsiniz.