Đôi khi, khi bạn nhấn một phím trên bàn phím, chữ cái không luôn hiển thị trên màn hình. Cho dù điều này là do kết nối tinh ranh hay nói cách khác, bạn đã quyết định viết một tập lệnh để kiểm soát xác suất của một chữ cái hiển thị trên màn hình khi nhấn phím tương ứng.
Một ngày nọ, bạn quyết định mua một con khỉ và ngồi xuống bàn phím. Tò mò, bạn quyết định tìm hiểu xem xác suất chính là gì để giúp con khỉ viết Hamlet hoàn toàn.
Thử thách của bạn là tính toán xác suất cho mỗi ký tự để đoạn văn được gõ với số lượng ký tự ít nhất.
Dưới đây là danh sách tất cả các nhân vật bạn nên hợp nhất:
qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890!"':;.()?,
Dòng mới và không gian được bao gồm trong danh sách trên. Bạn chỉ phải sử dụng các ký tự trong danh sách, giảm giá tất cả các ký tự khác (xóa chúng khỏi đoạn văn).
Chương trình phải là một chương trình với đoạn được cung cấp qua STDIN. Đầu ra phải là STDOUT.
Vì đây là một thử thách Rosetta Stone, bạn phải viết càng nhiều chương trình bằng các ngôn ngữ khác nhau càng tốt.
Để giành chiến thắng, bạn cần có mã ngắn nhất trong số nhiều ngôn ngữ nhất.
Trường hợp kiểm tra 1
Tôi sẽ so sánh bạn với một ngày hè?
Ngươi thật đáng yêu và ôn hòa hơn:
Những cơn gió gồ ghề làm rung chuyển những nụ yêu của tháng Năm,
và mùa hè cho thuê quá ngắn
Câu trả lời:
{
'\n': 0.017543859649122806,
' ': 0.16959064327485379,
'!': 0.0,
'"': 0.0,
"'": 0.011695906432748537,
'(': 0.0,
')': 0.0,
',': 0.0058479532163742687,
'.': 0.0,
'0': 0.0,
'1': 0.0,
'2': 0.0,
'3': 0.0,
'4': 0.0,
'5': 0.0,
'6': 0.0,
'7': 0.0,
'8': 0.0,
'9': 0.0,
':': 0.0058479532163742687,
';': 0.0,
'?': 0.0058479532163742687,
'A': 0.0058479532163742687,
'B': 0.0,
'C': 0.0,
'D': 0.0,
'E': 0.0,
'F': 0.0,
'G': 0.0,
'H': 0.0,
'I': 0.0058479532163742687,
'J': 0.0,
'K': 0.0,
'L': 0.0,
'M': 0.0058479532163742687,
'N': 0.0,
'O': 0.0,
'P': 0.0,
'Q': 0.0,
'R': 0.0058479532163742687,
'S': 0.0058479532163742687,
'T': 0.0058479532163742687,
'U': 0.0,
'V': 0.0,
'W': 0.0,
'X': 0.0,
'Y': 0.0,
'Z': 0.0,
'a': 0.08771929824561403,
'b': 0.0058479532163742687,
'c': 0.0058479532163742687,
'd': 0.046783625730994149,
'e': 0.093567251461988299,
'f': 0.0058479532163742687,
'g': 0.011695906432748537,
'h': 0.052631578947368418,
'i': 0.011695906432748537,
'j': 0.0,
'k': 0.0058479532163742687,
'l': 0.046783625730994149,
'm': 0.046783625730994149,
'n': 0.023391812865497075,
'o': 0.070175438596491224,
'p': 0.011695906432748537,
'q': 0.0,
'r': 0.052631578947368418,
's': 0.052631578947368418,
't': 0.058479532163742687,
'u': 0.029239766081871343,
'v': 0.0058479532163742687,
'w': 0.0058479532163742687,
'x': 0.0,
'y': 0.017543859649122806,
'z': 0.0
}
Trường hợp thử nghiệm 2
Bốn điểm và bảy năm trước, cha chúng ta đã mang đến cho lục địa này một quốc gia mới, được hình thành trong tự do và dành riêng cho đề xuất rằng tất cả mọi người đều được tạo ra như nhau.
Bây giờ chúng tôi đang tham gia vào một cuộc nội chiến lớn, kiểm tra xem quốc gia đó, hay bất kỳ quốc gia nào được quan niệm và tận tâm như vậy, có thể chịu đựng được lâu dài. Chúng tôi được gặp trên một chiến trường vĩ đại của cuộc chiến đó. Chúng tôi đã đến để dành một phần của lĩnh vực đó, như một nơi an nghỉ cuối cùng cho những người ở đây đã cho cuộc sống của họ rằng quốc gia đó có thể sống. Nó hoàn toàn phù hợp và đúng đắn mà chúng ta nên làm điều này.
Câu trả lời:
{
'\n': 0.0036036036036036037,
' ': 0.18018018018018017,
'!': 0.0,
'"': 0.0,
"'": 0.0,
'(': 0.0,
')': 0.0,
',': 0.010810810810810811,
'.': 0.0090090090090090089,
'0': 0.0,
'1': 0.0,
'2': 0.0,
'3': 0.0,
'4': 0.0,
'5': 0.0,
'6': 0.0,
'7': 0.0,
'8': 0.0,
'9': 0.0,
':': 0.0,
';': 0.0,
'?': 0.0,
'A': 0.0,
'B': 0.0,
'C': 0.0,
'D': 0.0,
'E': 0.0,
'F': 0.0018018018018018018,
'G': 0.0,
'H': 0.0,
'I': 0.0018018018018018018,
'J': 0.0,
'K': 0.0,
'L': 0.0,
'M': 0.0,
'N': 0.0018018018018018018,
'O': 0.0,
'P': 0.0,
'Q': 0.0,
'R': 0.0,
'S': 0.0,
'T': 0.0,
'U': 0.0,
'V': 0.0,
'W': 0.0036036036036036037,
'X': 0.0,
'Y': 0.0,
'Z': 0.0,
'a': 0.082882882882882883,
'b': 0.0054054054054054057,
'c': 0.025225225225225224,
'd': 0.03783783783783784,
'e': 0.10270270270270271,
'f': 0.016216216216216217,
'g': 0.023423423423423424,
'h': 0.041441441441441441,
'i': 0.057657657657657659,
'j': 0.0,
'k': 0.0,
'l': 0.027027027027027029,
'm': 0.0072072072072072073,
'n': 0.063063063063063057,
'o': 0.066666666666666666,
'p': 0.010810810810810811,
'q': 0.0018018018018018018,
'r': 0.050450450450450449,
's': 0.028828828828828829,
't': 0.093693693693693694,
'u': 0.010810810810810811,
'v': 0.014414414414414415,
'w': 0.014414414414414415,
'x': 0.0,
'y': 0.0054054054054054057,
'z': 0.0
}
Xem lý thuyết ở đây .
Bảng xếp hạng
C - 371 - Gerwin Dox
Java - 788 - Luminous
!
(33) đến z
(122) hoặc ~
(126) không? Khi chúng ta chia cho tổng số ký tự, bạn có thể chỉ cần chia cho độ dài của đầu vào hay chúng ta phải loại trừ các ký tự không có trong danh sách (khoảng trắng, v.v.)?