Terkait, tetapi ini hanya membutuhkan bilangan bulat positif dan tidak harus komutatif
Fungsi Penyandingan Cantor dijelaskan dalam artikel Wikipedia ini . Pada dasarnya, ini adalah operasi sehingga ketika diterapkan pada dua nilai X dan Y, seseorang dapat memperoleh nilai asli X dan Y yang memberikan hasilnya.
Tugas Anda adalah merancang dua fungsi: satu yang berkinerja X, Y -> Z
dan yang lain berkinerja Z -> X, Y
. Inilah tujuannya: X, Y -> Z
harus komutatif. Ini berarti bahwa Z -> X, Y
tidak akan dapat menentukan apakah input itu X, Y
atau Y, X
.
Definisi formal dari tantangan ini adalah:
Pilih satu set S angka yang tak terhingga jumlahnya.
Desain dua fungsi yang melakukan tugas-tugas berikut:
- Dengan pasangan nilai yang tidak teratur dalam S, kembalikan nilai dalam S
- Diberi nilai pengembalian dari fungsi awal, kembalikan pasangan nilai yang tidak berurutan yang mengevaluasi ke integer input ketika melewati fungsi pertama. Saya tidak peduli tentang perilaku fungsi terbalik ini jika input bukan nilai balik dari fungsi pertama.
Persyaratan
- Hasilnya harus identik antara berjalan.
{a, a}
adalah pasangan yang tidak teratur
Catatan: jawaban Anda lebih mungkin untuk mendapatkan upvote dari saya jika Anda memberikan bukti, tetapi saya akan menguji jawaban ketika saya sampai dan menaikannya setelah saya cukup yakin itu berhasil.
1,2
salah satu pasangan, 1,3
juga bisa menjadi pasangan potensial (keduanya digunakan 1
)?
f
dan kebalikannya g
, sorted((x, y))
harus sama dengansorted(g(f(x, y)))