Python 2.7
Để trả lời câu hỏi, người ta phải biết câu hỏi - và câu hỏi là:
Bạn nhận được gì khi nhân sáu với chín? Cảm ơn TRiG đã sửa
Vì vậy, Deep Think dựa vào việc sử dụng cơ sở 13 tiện dụng :
6 13 x 9 13 = 42 13
Chúng tôi nhập các hằng số của chúng tôi:
from random import randrange as scrabbleBag, randint
from datetime import datetime,timedelta
life,universe,everything,nothing=6,9,1,-3
endOfTheUniverse = 80
Chúng tôi cũng định nghĩa những thứ trên trái đất của chúng tôi, là một túi gạch vụn , Arthur (một thứ có thể dự đoán được mặc dù hơi kỳ quặc, máy tính loại), Trillian (nữ anh hùng hợp lý của chúng tôi),
tile = lambda i: scrabbleBag(26)
arthur = lambda i: int(`i`,life+universe+everything+nothing)
trillian = lambda i: ''.join(map(str,divmod(i,life+universe+everything+nothing)))
Chúng tôi giới thiệu Zaphod - một loại ngẫu nhiên, người cuối cùng đã hết hơi khi chúng tôi ở gần endOfTheUniverse
.
zaphod = lambda : not(randint(0,(endOfTheUniverse-(datetime.now() - start).seconds)**3))
Và Marvin the Paranoid Android , người có thái độ tích cực có thể ngăn chặn bất kỳ bên nào:
marvin = lambda : endOfTheUniverse<(datetime.now() - start).seconds
Và chúng tôi tiếp tục chạy 4 ký tự này thông qua bản mix cho đến khi họ tính toán nó :
while answer is not life * universe * everything:
rack = sum(tile(i) for i in range(7))
answer = (zaphod or marvin) and arthur(rack)
print trillian(answer)
Hoàn thành deepthought.py
:
from random import randrange as scrabbleBag, randint
from datetime import datetime,timedelta
life,universe,everything,nothing=6,9,1,-3
endOfTheUniverse = 80
tile = lambda i: scrabbleBag(26)
arthur = lambda i: int(`i`,life+universe+everything+nothing)
trillian = lambda i: ''.join(map(str,divmod(i,life+universe+everything+nothing)))
start = datetime.now()
zaphod = lambda: not(randint(0,(endOfTheUniverse-(datetime.now() - start).seconds)**3))
marvin = lambda: endOfTheUniverse<(datetime.now() - start).seconds
answer = None
while answer is not life * universe * everything:
rack = sum(tile(i) for i in range(7))
answer = (zaphod() or marvin()) and arthur(rack)
print trillian(answer)
Điều này sẽ kết thúc ở đâu đó xung quanh mốc 75 giây, chắc chắn kết thúc 80 giây. Đôi khi sớm hơn để ổ đĩa khả năng vô hạn của Zaphods .
sleep(75);print("%d\n",41+1);