Mari kita mendefinisikan kelas fungsi. Fungsi-fungsi ini akan memetakan dari bilangan bulat positif ke bilangan bulat positif dan harus memenuhi persyaratan berikut:
Fungsi harus Bijective, artinya setiap nilai dipetakan dan dipetakan dengan tepat satu nilai.
Anda harus bisa mendapatkan dari bilangan bulat positif ke bilangan bulat positif lainnya dengan aplikasi fungsi berulang atau kebalikannya.
Sekarang, tulis beberapa kode yang akan melakukan salah satu fungsi di kelas ini pada inputnya.
Ini adalah pertanyaan kode-golf sehingga jawaban akan dinilai dalam byte, dengan lebih sedikit byte lebih baik.
1+
secara umum lump harus melakukan trik di sini.Jawaban:
Python 3 , 24 byte
Cobalah online!
sumber
Python, 22 byte
Angka genap turun ke angka genap sebelumnya, angka ganjil naik ke angka ganjil berikutnya, dan pemetaan 2 -> 1 menghubungkan keduanya.
sumber
JavaScript (ES6), 20 byte
Peta
... -> 5 -> 3 -> 1 -> 2 -> 4 -> ...
, yang menurut saya valid. Koreksi saya jika saya salah ...sumber
n=>n%2?n+2:n-2||1:2
Haskell, 20 byte
Contoh fungsi dari komentar OP di Haskell. Cobalah online!
sumber
Jelly , 6 byte
Cobalah online!
Bagaimana itu bekerja
sumber
Python 3, 43 byte
Cobalah online!
Dan kebalikannya, juga 43 byte:
Cobalah online!
TIO tautan menggunakan kode catatan kaki Dennis.
Karena semua orang menggunakan satu cara melakukan, saya memutuskan saya akan berbeda, jadi saya buat sendiri (walaupun saya mungkin bukan orang pertama yang menemukannya) berfungsi. Fungsi ini memetakan seperti
... 10 -> 7 -> 6 -> 3 -> 2 -> 1 -> 4 -> 5 -> 8 -> 9 -> ...
, saya dapat menunjukkan kepada Anda gambar tangan yang saya buat untuk menguji ini jika Anda mau.Algoritme golf saya
mungkinmungkin golfable - tips akan dihargai.Versi tidak dikoleksi: Cobalah online!
sumber
05AB1E , 8 byte
Cobalah online!
Persis seperti yang dilakukan Dennis.
Cobalah online!
hal orlp.
sumber
Mathematica, 21 byte
Bergeraklah, tidak ada yang bisa dilihat di sini ...
sumber
Java (OpenJDK 8) , 22 byte
Cobalah online!
Saya berharap Jawa memiliki
**
operator eksponensial. Baiklah!sumber