Tugas Anda adalah mengimprovisasi generator nomor acak perangkat keras dengan perangkat keras apa pun yang Anda miliki.
Tantangan
Tulis program dengan properti berikut:
- Mencetak baik
0
atau1
(dan tidak ada yang lain). - Outputnya tergantung pada proses fisik dan bukan hanya keadaan internal komputer.
- Tidak ada hubungan antara output berjalan berikutnya (terpisah satu menit).
- Output tidak dapat diprediksi dengan upaya realistis.
- Probabilitas output
0
adalah antara 0,2 dan 0,8. - Ini berjalan dalam waktu kurang dari satu menit dengan probabilitas yang cukup tinggi.
Anda harus menjelaskan mengapa program Anda memiliki properti ini, jika tidak jelas.
Klarifikasi dan Batasan
Berikut ini mungkin tampak seperti banyak sekali pembatasan untuk kontes popularitas, tetapi pada akhirnya itu semua untuk memastikan bahwa program tetap dalam semangat pertanyaan, agak berhasil dan untuk menghindari solusi yang populer karena menjadi total berlebihan tetapi secara ultimatif agak membosankan.
- Waktu sistem tidak dihitung sebagai proses fisik.
- Anda dapat menggunakan perangkat keras tingkat konsumen apa pun yang Anda suka dari cakram floopy-disk 8 inci ke peluncur roket USB ke headphone - kecuali jika itu dimaksudkan untuk pembangkitan angka acak. Sebuah perangkat keras adalah kelas konsumen, jika diproduksi secara massal dan harganya kurang dari $ 1000 / €, sehingga Anda tidak dapat menggunakan teleskop radio, CERN, MRI atau detektor partikel buatan rumah Anda.
- Anda hanya dapat membuat asumsi paling mendasar tentang status dan penyelarasan perangkat keras seperti dihidupkan (jika memiliki saklar daya) dan terpasang dengan baik dan fungsional. Misalnya, Anda dapat menganggap drive CD umumnya mampu membaca disk dan tidak macet, tetapi Anda tidak dapat menganggap itu drive terbuka atau tertutup atau mengandung disk. Dalam contoh lain Anda tidak dapat mengasumsikan dua buah perangkat keras yang akan disejajarkan untuk memungkinkan interaksi khusus, tetapi Anda dapat menganggap mereka berada di ruangan yang sama.
- Anda dapat meninggalkan perangkat keras dalam keadaan apa pun yang Anda suka, kecuali jika Anda merusaknya.
- Anda dapat dan harus menganggap perangkat keras berada di lingkungan alami, tetapi tidak lebih. Misalnya, Anda dapat mengasumsikan bahwa perangkat keras tidak diposisikan di dalam tangki helium cair atau di ruang yang sangat kedap suara dan ringan atau di ruang angkasa. Namun, Anda tidak dapat mengasumsikan sumber suara dan cahaya apa pun ada kecuali yang hanya bisa dihindari dengan upaya radikal.
- Program Anda harus dijalankan pada komputer desktop standar dengan sistem operasi non-esoterik pilihan Anda. Anda dapat menggunakan perangkat lunak apa pun yang tidak dirancang khusus untuk pembuatan angka acak.
- Anda tidak dapat mengambil akses Internet.
- Anda tidak dapat menganggap manusia hadir atau tidak ada, tetapi Anda dapat mengasumsikan bahwa tidak ada orang yang dengan sengaja mengganggu program Anda, misalnya, dengan menghentikan kipas angin secara manual atau menjalankan program yang tidak melakukan apa pun selain mematikan mikrofon sesering mungkin.
- Anda hanya dapat membuat asumsi paling mendasar tentang pengaturan perangkat lunak. Misalnya, Anda dapat menganggap driver diinstal dan diaktifkan tetapi Anda harus siap untuk suara yang akan dimatikan.
- Anda dapat meninggalkan pengaturan perangkat lunak dalam kondisi apa pun yang Anda suka.
Bonus
Hadiah khusus diberikan untuk solusi yang sangat singkat. Ini bukan dengan jumlah instruksi dan mirip dengan oleh karakter. Para pemenang (diikat sesuai dengan kriteria saya):
- Jawaban ini oleh Franki.
- Jawaban ini oleh Tejas Kale.
Saya hanya bisa memberikan satu jawaban dan jawaban Tejas Kale dimenangkan banyak.