Angka Graham berakhir dengan angka 7. Ini adalah angka yang sangat besar, secara teori membutuhkan lebih banyak informasi untuk disimpan daripada ukuran alam semesta itu sendiri. Namun dimungkinkan untuk menghitung beberapa digit terakhir dari nomor Graham.
Beberapa digit terakhir adalah:
02425950695064738395657479136519351798334535362521
43003540126026771622672160419810652263169355188780
38814483140652526168785095552646051071172000997092
91249544378887496062882911725063001303622934916080
25459461494578871427832350829242102091825896753560
43086993801689249889268099510169055919951195027887
17830837018340236474548882222161573228010132974509
27344594504343300901096928025352751833289884461508
94042482650181938515625357963996189939679054966380
03222348723967018485186439059104575627262464195387
Program Anda mungkin tidak mengandung ini (atau nomor yang serupa), tetapi harus menghitungnya. Harus menghitung 200 digit atau lebih.
Output ke stdout. Waktu berjalan maksimal 2 menit pada perangkat keras yang layak. Kemenangan program terpendek.
3**7625597484987
sedangkan Python melakukannya :)Jawaban:
dc - 21 karakter
Ini membutuhkan waktu sekitar satu menit di komputer saya, dan akan membutuhkan waktu lebih lama untuk nilai yang lebih besar dari 200. Tidak menghasilkan angka nol terkemuka.
Ini versi yang sedikit lebih panjang tetapi lebih cepat (26 karakter):
sumber
Haskell, 99
Performanya tidak luar biasa, tetapi ia berhasil menghitung 500 digit dalam satu menit pada perangkat keras saya yang berusia satu dekade.
(Btw, saya ingin mendengar tentang kinerjanya pada perangkat keras yang lebih modern)
sumber
ghc -o g.exe g.hs
. Tidak yakin apakah itu cara terbaik untuk kompilasi.ghc -O3 graham.hs
Opsi badass yang disarankan dari dokumen online-O2 -fvia-C
. (dan sepertinya GHC saya sudah beberapa rilis di belakang)-O3
dan-O2 -fvia-C
, dalam waktu sekitar 18,3 detik.Python - 41 karakter
499 digit
500 digit
sumber
Python -
625955 karakterMembutuhkan waktu sekitar 12 detik di PC saya.
sumber
10**500
Aksioma, 63 byte
ungolf dan hasilnya
# a = 203 berarti angka len adalah> 200 itu menas juga bahwa ia tidak memiliki 0 pertama ...
sumber
Headecks, 602 byte
Mencetak 200 digit terakhir.
Harap hapus baris baru sebelum berjalan.
sumber