Lấy cảm hứng từ câu hỏi này được lấy cảm hứng từ câu hỏi này , hãy viết một chương trình lấy hai số nguyên và thêm chúng theo cách duy nhất, bằng cách thực hiện thao tác OR trên các phân đoạn được sử dụng để hiển thị chúng trong màn hình 7 đoạn. Để tham khảo, các chữ số được biểu diễn theo cách sau:
_ _ _ _ _ _ _ _
| | | _| _| |_| |_ |_ | |_| |_|
|_| | |_ _| | _| |_| | |_| _|
Lưu ý rằng 1 sử dụng hai phân đoạn bên phải, không phải bên trái. Có hai ký tự đặc biệt có thể được tạo ra theo cách này không phải là số. Xem bảng bổ sung dưới đây:
| 0 1 2 3 4 5 6 7 8 9
--+--------------------
0 | 0 0 8 8 8 8 8 0 8 8
1 | 0 1 a 3 4 9 8 7 8 9
2 | 8 a 2 a 8 8 8 a 8 8
3 | 8 3 a 3 9 9 8 3 8 9
4 | 8 4 8 9 4 9 8 Q 8 9
5 | 8 9 8 9 9 5 6 9 8 9
6 | 8 8 8 8 8 6 6 8 8 8
7 | 0 7 a 3 Q 9 8 7 8 9
8 | 8 8 8 8 8 8 8 8 8 8
9 | 8 9 8 9 9 9 8 9 8 9
Những quan sát hữu ích:
- Bất kỳ chữ số nào cộng với chính nó đều bằng chính nó
- 8 cộng với bất kỳ chữ số nào bằng 8
- 2 cộng 1, 3 hoặc 7 bằng chữ 'a' (phải viết thường)
- 4 cộng 7 bằng 'q' hoặc 'Q', lựa chọn của bạn
- Các số phải được căn phải, vì vậy các chữ số nên được thêm từ phải sang trái. Nếu một số có nhiều chữ số hơn số kia, các chữ số phụ ở đầu sẽ không thay đổi. Không có số 0 đứng đầu, trừ khi số chính xác là 0.
- Tất cả các số sẽ là 0 hoặc lớn hơn. Bạn không cần phải xử lý dấu '-'. (Chủ yếu là vì không phù hợp với tổng số '-' và '1' hoặc '7'.)
Chương trình của bạn nên chấp nhận 2 số nguyên ở bất kỳ định dạng nào bạn chọn và xuất ra một chuỗi chứa "tổng" của chúng khi được tính theo cách này. Đây là môn đánh gôn, vì vậy chương trình của bạn nên càng nhỏ càng tốt.
Ví dụ:
- Đầu vào: 12345, 123. Đầu ra: 12389
- Đầu vào: 88888, 42. Đầu ra: 88888
- Đầu vào: 0, 23. Đầu ra: 28
- Đầu vào: 120, 240. Đầu ra: a80
- Đầu vào: 270, 42. Đầu ra: 2Q8 (hoặc 2q8)
- Đầu vào: 1234567890, 1234567890. Đầu ra: 1234567890
Q
viết thường? Hình dạng thực tế trông giống như một q
thay vìQ
a
chắc chắn sẽ thấp hơn trường hợp mặc dù, vì A
ngoại hình hoàn toàn khác nhau.