Buat program yang berhenti tepat 50% dari waktu. Jadi diri sendiri. Pertanyaan terpilih tertinggi menang. Dengan persis saya berarti bahwa pada setiap run ada kesempatan 50% dari itu tersendat-sendat.
8
Buat program yang berhenti tepat 50% dari waktu. Jadi diri sendiri. Pertanyaan terpilih tertinggi menang. Dengan persis saya berarti bahwa pada setiap run ada kesempatan 50% dari itu tersendat-sendat.
Jawaban:
Perl
Setiap kali Anda menjalankan program ini, ia berhenti dan tidak berhenti.
sumber
JavaScript
Alternatif berhenti dan tidak berhenti. (Menghentikan pada menjalankan pertama, tidak berhenti pada kedua, ...)
sumber
Python
Setiap kali di sekitar loop rusak dengan probabilitas menurun secara eksponensial. Peluang untuk tidak pernah putus adalah produk (1-p) (1-p / 2) (1-p / 4) ... yaitu ~ 1/2. (Komentar wajib tentang floating point tidak tepat.)
sumber
p=0.3078458
untuk mendapatkan 50,00002% :)GolfScript
Saya tahu ini bukan tantangan kode-golf , tapi saya tetap saja golf . :)
Atau, inilah implementasi GolfScript dari solusi Keith Randall :
Secara teori, ini akan memiliki tepat 1/4 + 1/8 + 1/16 + ... = 1/2 probabilitas penghentian. Namun dalam praktiknya, memori pada akhirnya selalu akan habis dan berhenti, karena penyebutnya semakin lama semakin lama.
sumber
Rubi
Ada tepat 24 bilangan prima ganjil antara 0,.100, yang terbesar adalah 97. Algoritma ini memilih angka ganjil acak dalam rentang dan mengulanginya sampai menemukan bilangan prima:
Implementasi khusus ini memiliki dua bug:
n
, 24 di antaranya adalah bilangan prima.n
itu dimaksudkan untuk digambar ulang pada setiap iterasi, hanya pengujian primality dieksekusi dalam loop. Jika pada awalnya tidak berhasil, itu akan mencoba lagi - tetapi dengan nomor yang sama.sumber
Saya ingin bermain golf ini:
Befunge - 5 karakter
(Saya tidak yakin apakah ini benar-benar berfungsi karena saya tidak memiliki compiler befunge pada saya)
sumber
PESTA
Hanya script modifikasi yang menyenangkan.
Catatan: string kosong yang dikutip aktif
echo -n ''
hanya untuk kejelasan. Mereka dapat dihapus tanpa kehilangan fungsionalitas.sumber
Geometry Dash 2.2 Editor Glitch - 2 objek
Penjelasan:
Pemicu acak secara acak mengaktifkan (menonaktifkan) ID Grup 1 atau 2 dengan peluang 50%.
Pad ungu berada pada mode terbalik (artinya jika kubus menyentuhnya, kubus bergerak mundur, yang pergi ke kiri selamanya dan selamanya.).
Karena pad ungu memiliki ID Grup 2, itu memiliki peluang 50% untuk dinonaktifkan, yang berarti bahwa kubus dapat melewatinya hingga akhir level, yang akan berhenti.
Cara mereproduksi ini:
Pad ungu dalam mode terbalik dan memiliki ID Grup 1.
Di dalam pemicu acak.
sumber
C
sumber
Solusi yang agak dikaburkan:
Haskell
Python
Solusi yang sama dinyatakan dalam Python:
Penjelasan
sumber
INTERCAL , 59 byte
Cobalah online!
COME FROM COMING FROM
membuat loop tanpa akhir, tetapi ada peluang 50% untuk melompat ke akhir program.sumber
TI-Basic
sumber
round(
adalahround(value,# of decimal places)
, dan argumen kedua default ke 9.C
sumber
main
, register diinisialisasi ke 0 untuk alasan keamanan).Python, 48
sumber
Perl
Bukan kode golf, jadi saya bisa menghindari kode yang tidak dapat dibaca (karena apa yang dilakukannya lebih penting). Ini secara acak menyatakan suatu fungsi selama fase kompilasi. Jika dideklarasikan,
double
dapatkan ekspresi reguler sebagai argumen. Jika tidak dideklarasikan,double
adalah kata pengantar, dan Perl membaginya dengan3
tanpa henti. Ini menyalahgunakan pengartian kata kunci Perl, untuk mendapatkan parser mengurai kode yang sama dua cara yang berbeda.sumber
<> <, 5 byte dan kotak 2x2 yang indah
x
mengirimkan penunjuk instruksi dalam arah acak; Jika mengirim ke kiri atau ke kanan IP akan mengenai; dan mengakhiri. Jika naik atau turun IP akan macet di infinite><
loop, dikirim bolak-balik di antara keduanya.sumber
<><
tho, itu disebut><>
lol (kecuali ada satu yang disebut<><
saya belum pernah dengar)<
(karena pointer membungkus); itu tidak akan menjadi 2x2 persegi lagi tapi itu akan menjadi golf dengan baik c:Jawa
Ini memodifikasi sendiri kode untuk beralih
== 1
ke== 0
dan kembali, setiap kali dijalankan. Simpan kode hanya dengan baris baru atau offset akan salah.Itu
args.length
hanya untuk mencegah optimisasi kompiler.sumber
Persis 50% dari waktu?
OBJ-C
sumber
Haskell
Berjalan selama dua interval, masing-masing panjangnya 1 detik (dipilih karena 1 detik adalah satuan SI untuk waktu). Berhenti di dalam 50% interval. Jadi 50% dari detik berjalan itu tidak akan berhenti, 50% lainnya akan berhenti. Hanya bekerja di GHC.
sumber
Script Shell
skrip ini akan clobber file .md5sum di direktori saat ini dan anak.
sumber
GTB
Saya tahu ini bukan kode-golf, tetapi saya memutuskan untuk tetap bermain golf.
sumber
C ++
Setiap lari akan berhenti jika lari sebelumnya tidak.
sumber
Script Perintah Windows
Script ini akan menambahkan kode ke dirinya sendiri yang pada akhirnya akan menggantikan 'x' pada setiap proses.
sumber
Jawa
sumber
Matematika ++
sumber
Python 2 , 54 byte
Cobalah online!
Perilaku berhenti tergantung pada waktu saat ini.
sumber