Mari kita buat pemetaan surjektif yang sederhana dari bilangan bulat positif ke bilangan bulat Gaussian , yang merupakan bilangan kompleks di mana bagian nyata dan imajiner adalah bilangan bulat.
Diberikan bilangan bulat positif, misalnya 4538, ungkapkan dalam biner tanpa pemimpin 0:
4538 base 10 = 1000110111010 base 2
Hapus jejak apa pun 0:
100011011101
Ganti setiap menjalankan satu atau lebih 0dengan satu +:
1+11+111+1
Ganti semua 1dengan i:
i+ii+iii+i
Mengevaluasi ekspresi kompleks yang dihasilkan dan menampilkan bilangan bulat Gaussian yang disederhanakan:
i+ii+iii+i = i+i*i+i*i*i+i = 2i+i^2+i^3 = 2i+(-1)+(-i) = -1+i
Keluaran dapat diekspresikan dalam cara matematika tradisional, atau diberikan sebagai dua bilangan bulat terpisah untuk bagian nyata dan kompleks. Sebagai 4538contoh, semua ini akan baik-baik saja:
-1+i
i-1
-1+1i
(-1, 1)
-1 1
-1\n1
Untuk input seperti 29, mathy diformat output seperti 0, 0iatau 0+0isemua baik-baik saja.
Menggunakan j(atau sesuatu yang lain) alih-alih ibaik-baik saja jika itu lebih alami untuk bahasa Anda.
Kode terpendek dalam byte menang.
4+2j->100+10j...