Pendahuluan : Pemikiran Jauh dihitung . Jawaban untuk menghidupkan alam semesta dan segala sesuatu dalam periode 7,5 juta tahun, solusinya adalah 42
.
Tulis sebuah program dalam bahasa pemrograman apa pun yang membutuhkan sekitar 75
detik untuk menghitung, mulai dari apa pun yang Anda inginkan, dan keluarkan nomornya 42
.
NB Angka 42
harus dihitung entah bagaimana (angka acak, apa pun yang Anda inginkan), bukan hanya kode keras dalam skrip Anda.
Seperti yang disarankan, Anda tidak dapat menggunakan sleep
atau fungsi yang setara. Jadilah inventif.
popularity-contest
Fez Vrasta
sumber
sumber
sleep(75);print("%d\n",41+1);
sleep
tersedia jawabannya akan sangat tergantung pada perangkat keras. Saya bayangkan ... apa yang terjadi pada komputer Anda mungkin membutuhkan waktu komputer pada komputer saya: PJawaban:
Ini memakan waktu sekitar 75-an pada pi raspberry yang di-overclock ke 1GHz
Ini bekerja karena:
http://www.mathpages.com/home/kmath255.htm
sumber
Python 2.7
Untuk menjawab pertanyaan, orang harus tahu pertanyaan - dan pertanyaannya adalah:
Jadi Deep Thought mengandalkan penggunaan praktis dari basis 13 :
Kami mengimpor konstanta kami:
Kita juga mendefinisikan benda-benda bumi kita, menjadi sekeranjang ubin yang dapat dihancurkan , Arthur (yang dapat diprediksi walaupun agak aneh, komputer macam-macam), Trillian (pahlawan rasional kita),
Kami memperkenalkan Zaphod - jenis acak, yang akhirnya kehabisan tenaga saat kami dekat
endOfTheUniverse
.Dan Marvin the Paranoid Android , yang sikap positifnya dapat menghentikan pihak mana pun:
Dan kami terus berjalan 4 karakter tersebut melalui campuran sampai mereka menghitung itu :
Lengkap
deepthought.py
:Ini harus selesai di suatu tempat di sekitar tanda 75 detik, pasti selesai dengan 80 detik. Terkadang lebih awal ke Zaphods Infinite Improbability Drive .
sumber
File "main.py", line 13, in zaphod = not(randint(i,(80-(datetime.now() - start).seconds)**3)) NameError: name 'i' is not defined
:(DOS Batch - jawaban untuk kehidupan, Semesta dan segalanya
Terima kasih kepada mynameiscoffey untuk penyederhanaannya!
Simpan sebagai
answer.bat
:Kemudian jalankan, dan tunggu 75 detik:
sumber
@ ping 127.0.0.1 -n 76 >nul && @ echo %~z0
, menggunakan `&&` alih-alih mengandalkan sepasang CRLFBash (OS X)
Ini mungkin bisa porting ke sistem lain tanpa terlalu banyak kesulitan. Ganti
say
dengan apa pun yang Anda gunakan sebagai utilitas baris perintah text-to-speech. The-f
pilihan mengambil input dari sebuah file bernama.Dengan sedikit keberuntungan, bahkan mungkin menampilkan nomor yang benar :-)
Ini membutuhkan waktu hampir 1 menit 15 detik untuk berjalan di sistem saya (OS X 10.5).
sumber
MATLAB
Ini yang sulit. Karena kita tidak benar-benar tahu pertanyaannya, satu-satunya metode untuk mendapatkan jawaban adalah dengan menggunakan metode optimisasi global. Dalam hal ini saya memilih metode anil yang disimulasikan , karena yang ini telah memberi saya jawaban yang bagus untuk pertanyaan sulit sebelumnya.
Semua kode ini lakukan adalah mencari nilai optimal dari suatu fungsi yang inputnya adalah kehidupan itu sendiri. Dan yang menakjubkan adalah ia bekerja. Jadi, apakah saya baru saja memvalidasi Pemikiran Dalam?
Keluaran:
sumber
C - 1089 byte
Terkompresi:
sumber
Rubi
Output pada mesin saya:
Ini menyalahgunakan RNG. ;)
sumber
Took 25 seconds; seed was 3771996
di laptop rata-rata saya. Jadi, uhh ... aku berbohong. : PC
sumber
clock()
melebihi beberapa nilai tampaknya melanggarno sleep()
aturan, karena itu pada dasarnya tidur intensif CPUJavaScript - Menemukan "jawaban untuk hidup dan segalanya" dengan menyelesaikan persamaan
Mari kita lihat persamaan ini:
Ada banyak solusi, tetapi jika Anda ingin
r
menjadi sebesar danp
,q
danr
untuk menjadi alami hanya ada dua solusi:1/3 + 1/7 + 1/42 = 1/2
dan1/7 + 1/3 + 1/42 = 1/2
dengan
p <= q <= r
, hanya ada satu solusi danr
selalu sama dengan42
Apa cara paling efisien untuk menyelesaikan persamaan?
Dengan mencoba semua nilai yang memungkinkan!
Ini kodenya:
Berapa lama waktu yang dibutuhkan? Sejujurnya, saya tidak tahu karena saya belum bisa menjalankannya sampai akhir.
Namun, Anda dapat mencoba dengan
n
nilai yang kecil (harus lebih besar atau sama dengan42
) dan Anda akan mendapatkan hasil yang benar. Untuk nilai kecil sepertin = 2000
itu, dibutuhkan hampir satu menit di laptop saya. Jadi saya kira dengan nilai-nilai besar yang diberikan dalam contoh itu akan memakan waktu berhari-hari, berminggu-minggu, atau bahkan bertahun-tahun !!!Menemukan solusinya dalam waktu sekitar 75 detik:
Salah satu persyaratan dari pertanyaan awal adalah harus sekitar 75 detik untuk dieksekusi. Salah satu cara untuk mencapai ini adalah dengan menyesuaikan kompleksitas algoritma secara otomatis dari waktu ke waktu:
Cara kerjanya (untuk yang penasaran): memeriksa berapa banyak iterasi yang telah dilakukan dalam satu detik, kemudian kalikan ini dengan 74 dan sesuaikan
n
untuk mencocokkan nilai itu. misal: jika butuh satu detik untuk melakukan 500 iterasi, itu akan butuh 10 detik untuk melakukan iterasi 5000. Perhatikan bahwa kalikan dengan 74 bukan 75 karena kami sudah menghabiskan satu detik untuk "pembandingan".sumber dan kredit untuk matematika
sumber
C # - 151 Karakter
sumber
C ++
Menghitung partisi dari 10 melalui metode yang agak tidak efisien. Butuh 130-an untuk berjalan dalam rilis Rilis pada sistem saya, tetapi seseorang dengan PC yang cukup cepat harus dapat menjalankannya di ~ 75-an ...
sumber
Javascript
Ini akan membutuhkan waktu untuk mengingatkan sesuatu ... tapi itu berharga karena akan menunjukkan kepada Anda Jawaban untuk menghidupkan alam semesta dan segalanya!
Demo
sumber
Python
Kadang-kadang jawaban hanya jelas di bagian akhir perhitungan, tetapi aspek-aspeknya terlihat sebelum penghentian.
Dan sedikit yang diketahui adalah urutan input Deep Thought diunggulkan dengan:
271, 329, 322, 488, 79, 15, 60, 1, 9
Karenanya:
Et voila - jawabannya diberikan setelah 75 detik.
sumber
Majelis (ditautkan oleh gcc)
Pada komputer yang cukup lambat (kecepatan CPU ~ 2Hz) ini akan membutuhkan waktu sekitar 75 detik untuk berjalan:
sumber
Utilitas Bash dan Linux:
Pemikiran mendalam adalah mendengarkan dengan cermat sepanjang perhitungan.
sumber
Jawa (227 karakter)
Siapa bilang manipulasi bitwise tidak menyenangkan? Atau java itu tidak bisa membingungkan?
Kami mengulang selama 75 detik dan kemudian membentangkan jawabannya.
Tidak disatukan
sumber
PureBasic
Sesuai dengan fakta bahwa perangkat keras yang berbeda akan menghasilkan hasil yang berbeda, tidak ada jawaban pasti untuk ini. Saya menggunakan fungsi waktu yang telah berlalu jadi saya tahu kapan harus berhenti menghitung.
Pada dasarnya, itu akan menghitung dua bilangan prima terbesar ketika dikurangi adalah 42
Lebih cepat mesin Anda, semakin besar bilangan prima akan :-)
sumber
MeatSpace
Laju jarak yang membutuhkan waktu sekitar 70/4 detik untuk Anda
servant^H^H^H^Hcomputer
(bisa jadi manusia, anjing, atau apa pun yang bisa mengambil ubin angka) untuk berjalan. Tempatkan angka besar4
dan angka besar di2
sana. Tempatkan Andacomputer
ke titik output. Mulai timer, minta berjalan ke depot angka dan bawa kembali satu nomor sekaligus.Saya mengalokasikan 5 detik untuk mengambilnya dan meletakkannya.
sumber
Contoh C # lainnya
sumber
Rubi
Menggunakan perbedaan waktu ruby Saya telah memverifikasi waktu eksekusi yang kira-kira
75.014267762
sumber
PHP
Ini sedekat yang saya dapatkan malam ini. Menjalankannya di tecbrat.com , IBM NetVista P4 lama yang menjalankan Ubuntu 10,04, menunjukkan 69 detik dan 78 detik pada 2 berjalan terakhir saya.
sumber
JavaScript (Kebingungan bitwise) (tidak buruk untuk 136 byte!)
Mungkin terlihat sedikit di sisi cheaty, tetapi fungsi dipikirkan dengan cermat, mengingat bahwa nilai 75000ms akan dihitung sebelum fungsi yang digunakan untuk menghitung 42. Ini cukup puitis ketika Anda melihatnya, sungguh: )
setTimeout("alert($=((_=_=>(_<<-~-~[])|-~[])(_(-~[])))<<-~[])",($=$=>$<<-~-~-~[]|-~[])((_=_=>_<<-~[]|-~[])(_(_(_($($($(-~[]))))))))^-~[])
sumber
Unexpected token >
Saya tidak terlalu baik dengan hal semacam ini. Saya seorang pengembang aplikasi tetapi saya tidak pernah memiliki pelatihan dalam C dan saya kebanyakan membuat aplikasi yang mengambil barang dari server dan membuat informasinya terlihat cantik ...
Saya tidak tahu apakah ini akan berhasil dan ada sedikit kode tambahan di sana karena itu ada di aplikasi iphone dan saya menampilkan kemajuan hud dan tampilan peringatan ketika 42 telah tercapai:
sumber