Tulis sebuah program yang sepertinya menambah angka 2 dan 2 dan hasilnya 5. Ini adalah kontes curang.
Program Anda tidak dapat menghasilkan kesalahan. Hati-hati terhadap lubang memori! Masukan adalah opsional.
Mendefinisikan ulang 2 + 2 sebagai 5 tidak terlalu kreatif! Jangan ragu untuk memikirkannya, coba sesuatu yang lain.
echo "2+2=5";
Jawaban:
Jawa
Refleksi memang cara yang tepat untuk menyalahgunakan Java ... tetapi Anda harus lebih dalam dari sekadar mengubah beberapa nilai.
Keluaran:
Penjelasan:
Peringatan: Melakukan ini dalam kode nyata akan membuat orang sangat tidak bahagia.
Demo kode pada ideone .
sumber
Integer[] array = (Integer[]) c.get(cache); fisherYatesShuffle(array);
Bayangkan berapa banyak hal yang akan rusak ...Haskell
Saya hanya suka bagaimana Anda bisa melempar apa saja ke ghci dan benar-benar cocok dengannya.
sumber
let 2+2=5 in 5+5
harus dilakukan ಠ_ಠNon-exhaustive patterns in function +
- Saya mendefinisikan fungsi baru (+) di sini, dan Jika saya memasukkan apa pun yang tidak2+2
akan kesalahan karena saya tidak pernah menentukan apa yang harus terjadi dalam kasus itu.C
Trik yang cukup murah tapi saya yakin saya akan menjebak Anda semua.
Coba di sini
sumber
GolfScript
Cetakan
5
.sumber
Jawa
Selalu harus membulatkan dobel Anda, kawan
Keluaran:
Penjelasan:
sumber
Math.ceil(two + two); // round just in case
Saya melihat apa yang Anda lakukan di sanatwo
.Two two = Two.two.two();
Tingkat produksi java adalah dengan Dua. Menjadi tipe TwoFactory.BBC BASIC
EDIT: Untuk Andrea Faulds dan Squeamish Ossifrage, versi yang lebih meyakinkan menggunakan penerjemah berbeda: http://sourceforge.net/projects/napoleonbrandy/
Gambar asli menggunakan emulator di http://bbcbasic.co.uk/bbcwin/bbcwin.html . (dengan kode yang sedikit berbeda) dapat dilihat pada riwayat edit.
sumber
2+3=5
dan2+2=5'
VDU 23,52,126,96,124,6,6,102,60,0
Brainfuck
Keluaran:
Coba di sini .
Saya tahu ini mungkin terdengar agak sederhana, tetapi saya mencoba untuk menjadi kreatif, seperti yang disarankan dalam posting asli.
sumber
+++++.
kamu bisa mengecat apa saja.Pesta
Karena ini adalah kontes popularitas , kurasa aku harus menggunakan metode bertele-tele ...
Untuk orang yang tidak tahu Bash:
$((...expr...))
adalah sintaks untuk mengevaluasi ekspresi aritmatika.$(bc<<<...expr...)
melakukan hal yang sama menggunakanbc
kalkulator baris perintah.Keluaran
Penjelasan
sumber
15
bukannya16
pada baris 4. Untungnya, itu masih berhasil karenabc
pembulatan((v = v * 5))
atau((v *= 5))
+=
segera melihatnya .v=2
danv+=2
): untuk seseorang yang tidak terbiasa dengan penanganan variabel Bash, itu akan setara dengan2+2
, tetapi sebenarnya"2"+"2"
, yaitu"22"
. komentar lain dalam kode hanya salah karena ini. Saya tahu, tidak semua orang menganggap ini lucuPython
Terinspirasi oleh jawaban Java:
Versi yang lebih dikaburkan
Melampaui 2 + 2
Seperti yang disebutkan OP, 2 + 2 bisa agak membosankan; jadi inilah beberapa kode multi-lebar yang lebih bersih, multi platform, untuk penyalahgunaan tanpa izin.
Menjalankan dengan Python 2.7 ... abaikan baris itu di akhir. Bekerja di Windows 64-bit dan Ubuntu 32-bit, dua sistem yang mudah saya akses.
Tidak mengherankan, kita dapat menghancurkan properti asosiatif dari penambahan, di mana ( a + b ) + c = a + ( b + c ), seperti yang terlihat pada baris 1 dan 2
1+2+3
, tetapi entah kenapa kita juga merusak properti komutatif (di mana a + b = b + a ; Baris ke-2 dan ke-3). Saya bertanya-tanya apakah interpreter Python hanya mengabaikan tanda kurung berlebihan di sekitar ekspresi tambahan.sumber
exec('\x66\x72\x6f\x6d\x20\x63\x74\x79\ \x70\x65\x73\x20\x69\x6d\x70\x6f\ \x72\x74\x20\x63\x5f\x69\x6e\x74\ \x38\x3b\x20\x69\x6d\x70\x6f\x72\ \x74\x20\x73\x74\x72\x75\x63\x74\ \x3b\x20\x63\x5f\x69\x6e\x74\x38\ \x2e\x66\x72\x6f\x6d\x5f\x61\x64\ \x64\x72\x65\x73\x73\x28\x69\x64\ \x28\x34\x29\x20\x2b\x20\x73\x74\ \x72\x75\x63\x74\x2e\x63\x61\x6c\ \x63\x73\x69\x7a\x65\x28\x27\x50\ \x50\x27\x29\x29\x2e\x76\x61\x6c\ \x75\x65\x3d\x35')
Merupakan versi pertama yang dimodifikasi. Saya membuat ini sehingga saya bisa memasukkannya ke $ PYTHONSTARTUP di / etc / profile sebagai tim merah dalam kompetisi hacking.JavaScript:
Lihat di http://jsfiddle.net/qhRJY/
sumber
JavaScript
Anda dapat melihatnya di kalkulator berbeda di sini .
sumber
PHP
Yang menghasilkan:
sumber
PHP
contoh lain :$a=2;echo "2+2=".$a++ + $a++;
JavaScript
sumber
=
alih-alih==
, mudah dilihat dan terus terang agak tidak terinspirasi.=
hanya menggunakan sebagai assigment tetapi operator perbandingan (misalnya Pascal, SQL, VB)C #
sumber
;
after it, yang sangat disengaja karena saya menggunakan loop kosong untuk memajukan kursor. Saya tidak sengaja menghilangkan titik koma, semuanya meledak, dan saya tidak tahu mengapa.Menghias Javascript Anda dengan seni ASCII berbahaya.
sumber
--
operator dapat diterima karena seharusnya kesalahanInvalid left-hand side expression in prefix operation
; namun saya menyadari bahwa ada karakter spasi putih di antara mereka.Pesta
Keluaran:
Ini yang lain:
sumber
set a to {1, 2, 3, 4, 5, 6, 7, 8}
item 4 of a
zsh
menggunakan array 1-diindeks (dan$arr[0]
hanya tidak disetel atau tidak terdefinisi atau sesuatu), kecualiKSH_ARRAYS
opsi diatur, di mana array kasus adalah 0-diindeks.Perl
sumber
R
keluaran:
5
sumber
Jawa
keluaran:
Mungkin berfungsi dalam bahasa apa pun yang menggunakan jenis ganda yang sama.
sumber
_2_56 + _2_56 = _5_12
), tetapi tampaknya lebih mungkin maksud Anda256.000000000000_2_ + 256.000000000000_2_ = 512.000000000000_5_
(catatan: garis bawah dulu digunakan untuk "tebal" digit.Dibalik
Ini ditulis dalam Befunge, tetapi dirancang agar terlihat seperti Python.
Saat dijalankan (dengan juru bahasa yang benar) program akan mencetak
5
.Penjelasan:
sumber
JavaScript
Kode:
Keluaran:
Anda dapat mengujinya sendiri di konsol Anda atau memeriksa Fiddle ini
sumber
U+0431
, adalah б — hampir 6!C (Linux, gcc 4.7.3)
Mencetak 2 + 2 = 5
Jadi a = 2, kan?
sumber
FORTRAN 77
sumber
2=3
Python
Kode mencetak 5 jawaban yang benar untuk tugas ini.
Sunting: Ini adalah versi alternatif yang menambahkan bilangan bulat, bukan dua string.
sumber
~eval(`a`)
bukannya adil~a
?int()
fungsionalitas daneval()
melakukan pekerjaan jika inputnya adalah bilangan bulat yang diketikkan :)Rubi
Efek samping dari ini bahkan lebih buruk daripada versi Java.
sumber
Rubi
Ruby memiliki lingkungan kelas satu. Ini berarti banyak hal. Ini juga berarti bahwa banyak hal dapat dilakukan yang ... mungkin tidak boleh.
Output dari ini adalah:
Jika Anda ingin lebih memahami tentang kegembiraan dan bahaya ini, Ruby Conf 2011 Menjaga Ruby Wajar dan membaca lingkungan kelas satu dari blog Abstract Heresies.
sumber
class Fixnum; def +(n) 5 end end; 2 + 2 # => 5
class Fixnum; alias_method :orig_plus, :+; protected :orig_plus; def +(n) self == 2 && n == 2 ? 5 : self.orig_plus(n) end end
Skema
sumber
2+2
bukan bagaimana Anda melakukan penambahan dalam lisp!((((2))(()()))()()(()((((+))))()(((()(())((((2)))))()))(())))
.C #
Untuk seseorang yang tidak terbiasa, ini akan terlihat seperti saya mendapatkan rentang mulai dan berakhir pada 2. Pada kenyataannya, ini dimulai pada 2 dan berlaku untuk dua angka. Jadi 2 + 3 = 5.
sumber
{ 2 }
, bukan?Enumerable.Range
tidak mengambil awal dan akhir, dibutuhkan awal dan hitungan (elemen yang akan disebutkan).F #
Mari kita letakkan di fsi pernyataan berikut:
Keluaran:
sumber
C
Tidak
5
terlalu tersembunyi, aku takut. Tidak berfungsi dengan optimasi.sumber