Tạo một chương trình tính toán trọng số hãm của chuỗi. Người chiến thắng là chương trình có trọng lượng hamming thấp nhất.
Quy tắc:
- Trọng lượng Hamming cho một ký tự ASCII được định nghĩa là tổng số bit được đặt
1
trong biểu diễn nhị phân của nó. - Giả sử mã hóa đầu vào là ASCII 7 bit, được chuyển qua bất kỳ cơ chế đầu vào nào là bình thường đối với ngôn ngữ của bạn (ví dụ: stdin, args, v.v.)
- Xuất kết quả, dưới dạng số, thành thiết bị xuất chuẩn hoặc bất kỳ cơ chế đầu ra mặc định / bình thường nào mà ngôn ngữ của bạn sử dụng.
- Nó không cần phải nói, nhưng bạn phải có khả năng thực sự chạy chương trình, trong cuộc sống thực, để nó là một giải pháp hợp lệ.
- Người chiến thắng là giải pháp có mã có trọng lượng hamming thấp nhất.
Xin lỗi, không có giải pháp trong khoảng trắng cho cái này!Ok, bạn có thể viết mã trong khoảng trắng bây giờ Tôi đã sắp xếp các quy tắc :)
Ví dụ về mỗi ký tự:
char | binary | weight
-----+----------+-------
a | 01100001 | 3
x | 01111000 | 4
? | 00111111 | 6
\x00 | 00000000 | 0
\x7F | 01111111 | 7
hello world
11? Chỉ có 10 ký tự khác với một không gian. Ngoài ra - trọng lượng Hamming của chương trình dường như chỉ là chiều dài của nó, không bao gồm các khoảng trắng. Không quá khác biệt với golf mã thông thường.
~
THƯỞNG THỨC VÀ o
.
0x20
/ ASCII 32 làm tài liệu tham khảo, không phải là trọng số củahello world
10 chứ không phải là 11?