Z'den (tüm tamsayılar kümesinden) Z'ye (örneğin, kimlik işlevi) kadar bir sıfat işlevi oluşturmak mümkündür .
Bir örten işlev oluşturmak da mümkündür için Z 2 (, 2 tamsayılar çiftleri grubu Kartezyen ürün bir Z ve Z ). Örneğin, 2B düzlemde tamsayı noktalarını temsil eden kafesi alabilir, 0'dan dışa doğru bir spiral çizebilir ve daha sonra tam sayı çiftlerini bu noktayla kesiştiğinde spiral boyunca olan mesafe olarak kodlayabiliriz.
(Bunu doğal sayılarla yapan bir işlev , eşleştirme işlevi olarak bilinir .)
Aslında, bu sıfat fonksiyonlarının bir ailesi var:
Meydan okuma
fonksiyonlarının bir ailesini tanımlayın ( k k pozitif bir tamsayıdır), f k ( x ) tamsayılarını k- tamsayılarına k- tuples ile eşzamanlı olarak eşler.
Gönderiminiz, ve x girdileri verildiğinde , f k ( x ) değerini döndürmelidir .
Bu kod-golf , bu yüzden en kısa geçerli cevap (bayt cinsinden ölçülen) kazanır.
Özellikler
- Herhangi bir aile olduğu sürece yukarıdaki kriterleri karşılayan olarak kullanılabilir.
- İşlev ailesinin nasıl çalıştığının bir açıklamasını ve işlevin tersini hesaplamak için bir pasajı eklemeniz önerilir (bu, bayt sayınıza dahil değildir).
- Ters fonksiyonun hesaplanamaz olması durumunda, fonksiyonun sakıncalı olduğunu kanıtlayabildiğiniz sürece sorun yoktur.
- Diliniz için imzalı tamsayılar ve imzalı tamsayıların listesi için uygun olan herhangi bir gösterimi kullanabilirsiniz, ancak işlevinize girdilerin sınırsız kalmasına izin vermelisiniz.
- Sadece kadar k değerlerini desteklemeniz gerekir .
k
vex
yerine tamsayılar?