Tugas:
Saya tahu kita semua bisa menambahkan dua angka dengan cara singkat, menggunakan +
. Tugas Anda adalah membuat kode terpanjang yang dapat Anda tambahkan dua angka input.
Aturan:
- Semua kode harus sesuai topik (jangan mengisinya dengan kode tambahan untuk menambah panjang)
- Hitungannya dalam karakter, tetapi tidak menghitung tab, spasi, atau baris baru.
- Jangan gunakan nama variabel yang sangat panjang
- Ini kode bowling , jadi jawaban terlama menang!
number
code-bowling
Dokter
sumber
sumber
a + b - b + b...
dihitung? Itu tidak terbatasa + b/2
, tidaka + b
(ini mirip dengan seri Grandi ).Jawaban:
C ++ LEBIH DARI 3x10 ^ + 618 (TANPA RUANG PUTIH, tab atau baris baru)
Kode ini mengambil lebih banyak matematika daripada logika! dalam menghitung jumlah byte
KODE PENDEK
KELUARAN
Benarkah? serius! Anda ingin melihat output? kode ini akan memakan waktu berminggu-minggu untuk ditulis dan berbulan-bulan untuk dikompilasi!
sumber
x
atauy
tidak?C - 2,739.341.494.945.868.415.002 (Tidak termasuk spasi)
Kekuatan brutal untuk menang. Hanya menangani bilangan bulat, dan mempertahankan perilaku luapan. Berikut cuplikan kode:
Ini jelas merupakan cara untuk mengunggah di sini atau di Pastebin, jadi inilah program yang akan menghasilkan kode sumber untuk fungsi tersebut (mengarahkan output ke file - dengan asumsi Anda memiliki ruang drive):
Saya ngeri pada berapa lama fungsi untuk waktu yang lama akan ...
EDIT: Menghitung ulang skor (harus benar) untuk memberikan jumlah yang tepat Saya lebih suka berpikir bahwa saya bermain golf dengan 10 ² karakter ketika saya menghapus spasi.
sumber
else if
.LEFT_SIDE_NEG_2147483648 = -2147483648
) ... itu praktik yang baik untuk menggunakan nama deskriptif daripada nilai-nilai hard-kode, Anda tahu.C ++, 3573
3573, maka itu mulai membosankan, tetapi saya dapat terus menambahkan lebih banyak lapisan abstraksi.
sumber
Ruby, 29048 (dapat setinggi yang diperlukan, tetapi saya harus mendapatkannya di bawah batas karakter untuk posting)
Dan di mana saya mendapatkan string yang sangat besar itu, Anda bertanya? Ini adalah program yang saya gunakan untuk menghasilkannya:
Yay untuk "kompresi"! : P
Seperti yang Anda lihat, saya menetapkan batas panjang string ke 29000, yang hanya di bawah batas panjang untuk posting Stack Exchange, tapi saya bisa membuatnya setinggi yang saya mau.
sumber
PHP - 1299
Aturan tidak melarang menggunakan perpustakaan eksternal jadi di sini adalah kode menggunakan SimplePHPEasyPlus :
sumber
C (via perl) - 170.141.183.381.241.069.554.076.045.499.751.727.125 (yaitu 1,70141183381241e + 38) untuk input 32-bit yang tidak ditandatangani
Filosofi saya adalah bahwa, ketika menerapkan penambahan dari awal, tidak bijak untuk mengandalkan biaya yang telah dihitung sebelumnya seperti 2, 3, 7 atau 65535! 0 dan 1 harus menjadi satu-satunya konstanta yang kita butuhkan, bukan?
Karena itu, saya tidak menghitung konstanta apa pun - saya menghitungnya dengan cepat, seperti yang terlihat di bawah ini! Untuk mendukung input integer bertanda 8-bit, Anda membutuhkan kode sumber dengan panjang 20.461.843 karakter bukan spasi. Untuk menerapkan input integer bertanda 32-bit, Anda membutuhkan kode sumber dengan panjang 1.70141183381241e + 38 ;-)
Siap untuk potongan kecil kode integer bertanda 8-bit? Anda disini:
Perhatikan bahwa kode ini agak golf - saya tidak mengatakan misalnya:
Tidak perlu memeriksa apakah x sama dengan satu setiap kali, bukan? Jadi kode saya jauh lebih efisien † dan ringkas †, dan melakukan ini sebagai gantinya:
Saya pasti bisa memperpanjang panjang kode lebih jauh dengan mengubah ke metode yang kurang ringkas =)
Dan inilah kode sumber yang saya gunakan untuk menghasilkan monstrositas ini, tetapi hati-hati - mewakili bilangan bulat 24-bit dalam format ini (masing-masing 33MB) menghasilkan perl memakan lebih dari 1GB memori pada mesin saya. Jika Anda memiliki lebih dari 512GB memori yang Anda inginkan, Anda harus dapat melanjutkan dan mencobanya dengan bilangan bulat 32-bit =)
Wah, itu dia =)
sumber
Java - 2406 (3220 dengan spasi putih)
Kita semua tahu bahwa komputer pandai menangani bit dan tidak begitu baik dalam hal lainnya. Karena itu program saya melakukan penambahan menggunakan penambahan bitwise yang efisien!
sumber
Jawa -
309731759Bukan yang terpanjang, tetapi bisa menjadi interpretasi yang salah yang paling masuk akal.
sunting: Ups, perhatikan saja ini bukan kode-trolling .
sumber
for
loop untuk mengatakan "mereplikasi ini di semua bit dari bus input". (Bayangkan sebuah bahasa dengan sintaks prosedural dan eksekusi fungsional ... di mana alat utama untuk mengeditnya adalah representasi yang sangat prosedural sebagai diagram alur ... apa yang bisa saya katakan, itu adalah upaya awal.)Python 2.7 (menambahkan cara yang baik)
kredit diberikan ke https://stackoverflow.com/questions/366706/bitwise-subtraction-in-python
sumber
raw_input()
. Saya memberi isyarat kepada OP bahwa itu adalah praktik yang baik untuk menyatakan bahasa.sumber
C # - 5395
Mari kita memancarkan kode cil untuk penambahan menggunakan metode dinamis. Sebenarnya saya memancarkan kode, yang pada gilirannya memancarkan kode untuk memanggil penambahan integer. Fungsi di
Add()
bawah ini membangun metode dinamis, yang ketika dijalankan membangun metode dinamis untuk memanggil penambahan integer.sumber
{System.SystemException}: {"JIT Compiler encountered an internal limitation."}
Katakanlah Anda ingin kode lebih panjang dari n karakter. Kode berikut jauh lebih panjang.
sumber
C
Tidak berfungsi dengan baik untuk jumlah besar, tetapi bisa diganti dengan ini
sumber