Göreviniz, etrafta hangi donanıma sahip olursa olsun, bir donanım rasgele sayı üretecini doğaçlama yapmaktır.
Meydan okuma
Aşağıdaki özelliklere sahip bir program yazın:
- Ya yazdırır (ya
0
da1
başka hiçbir şey yoktur) - Çıktı, yalnızca bilgisayarın iç durumuna değil fiziksel bir işleme bağlıdır.
- Sonraki çalışmaların çıktıları arasında bir ilişki yoktur (bir dakika arayla).
- Çıktı, herhangi bir gerçekçi çabayla tahmin edilemez.
- Çıktının olma olasılığı
0
0.2 ile 0.8 arasındadır. - Makul bir olasılıkla yüksek olan bir dakikadan az bir sürede çalışır.
Açık değilse, programınızın neden bu özelliklere sahip olduğunu açıklamalısınız.
Açıklamalar ve Kısıtlamalar
Aşağıdakiler bir popülerlik yarışması için çok fazla kısıtlama gibi görünebilir, ancak sonuçta programın sorunun ruhu içinde kalmasını sağlamak, biraz işe yaraması ve tamamen fazladan olmaktan ötürü popüler olan ancak sonuçta fazla olan çözümlerden kaçınması oldukça sıkıcı.
- Sistem zamanı fiziksel bir işlem olarak sayılmaz.
- Rasgele-sayı oluşturma için tasarlanmadıkça , 8 inçlik floopy-disk sürücülerden USB roket başlatıcısına ve kulaklıklara kadar istediğiniz herhangi bir tüketici donanımını kullanabilirsiniz . Bir donanım parçası , seri üretildiyse ve 1000 $ / € / £ 'dan az maliyeti varsa , tüketici sınıfıdır, bu nedenle radyo teleskoplarını, CERN, MRI'leri veya ev yapımı parçacık dedektörünü kullanamazsınız.
- Açma (bir güç anahtarına sahipse) ve donanımın düzgün şekilde kurulup işlevsel hale getirilmesi gibi donanımın durumu ve hizalaması hakkında yalnızca en temel varsayımları yapabilirsiniz. Örneğin, genellikle bir diski okuyabilecek ve sıkışmayacak bir CD sürücüsünün varsayabilir, ancak açık veya kapalı ya da bir disk içerdiğini varsayamazsınız. Başka bir örnekte, özel bir etkileşime izin vermek için iki donanım parçasının hizalandığını varsayamazsınız, ancak aynı odada olduklarını varsayabilirsiniz.
- Donanımı, bölmediğiniz sürece, istediğiniz herhangi bir durumda bırakabilirsiniz.
- Donanımın doğal bir ortamda olduğunu varsayabilir ve üstlenmelisiniz, ama daha fazlasını değil. Örneğin, donanımın bir sıvı helyum tankına, son derece ses ve ışık geçirmez bir odaya veya uzaya yerleştirilmediğini varsayabilirsiniz. Ancak, yalnızca radikal çabalarla kaçınılabilecek olanlar dışında, mevcut olan herhangi bir ses ve ışık kaynağını üstlenemezsiniz.
- Programınız, tercih ettiğiniz ezoterik olmayan bir işletim sistemine sahip standart bir masaüstü bilgisayarda çalışmalıdır. Rasgele sayı üretimi için özel olarak tasarlanmamış herhangi bir yazılımı kullanabilirsiniz.
- İnternet erişimini üstlenemezsiniz.
- İnsanların bulunmadığını veya bulunmadığını varsayamazsınız, ancak programınıza kasten kimsenin müdahale etmediğini, örneğin bir vantilatörü el ile durdurarak veya hiçbir şeyi yapmayan bir programı çalıştırarak mikrofonu olabildiğince sık çalıştıracağınızı varsayabilirsiniz.
- Yazılım ayarlarıyla ilgili yalnızca en temel varsayımları yapabilirsiniz. Örneğin, sürücülerin kurulduğunu ve etkinleştirildiğini varsayabilirsiniz, ancak sesin kesilmesi için hazırlıklı olmalısınız.
- Yazılım ayarlarını istediğiniz herhangi bir durumda bırakabilirsiniz.
Bonus
Özel bir ödül, özellikle kısa bir çözüme verildi. Bu, talimatların sayısından çok, karakterlerden de farklıydı. Kazananlar (kriterlerime göre bağlandı):
Sadece bir cevap verebildim ve Tejas Kale'nin cevabı çokça kazandı.