Lưu ý: Đây là phiên bản làm cứng bức xạ trong thử thách trước đó của tôi Kiểm tra bit nguyên sơ . Điều này nên được nhiều khó khăn hơn một đó.
Viết chương trình / hàm có hai số nguyên trong phạm vi từ đến , và trả về việc dạng nhị phân của các số có khác nhau một bit hay không.
Ví dụ, và có dạng nhị phân và cách nhau một bit. Tương tự, và là và , vì vậy chúng trả về đúng.00000001
00000000
010011000
000011000
Tuy nhiên , mã của bạn phải được làm cứng bằng phóng xạ , sao cho nếu bất kỳ một bit nào trong chương trình của bạn bị lật, thì nó vẫn hoạt động chính xác. Ví dụ: nếu chương trình của bạn là byte đơna
(01100001
), thì tất cả 8 chương trình được sửa đổi có thể:
á ! A q i e c `
vẫn phải hoạt động chính xác. Hãy chắc chắn rằng bạn đang sửa đổi theo byte (ví dụ: trên á
thực tế có đại diện cho byte , không phải là ký tự hai byte thực tế ).á
Các trường hợp thử nghiệm:
Với Truthy có nghĩa là họ là khác nhau bởi một chút.
0,1 => Truthy
1,0 => Truthy
152,24 => Truthy
10,10 => Falsey
10,11 => Truthy
11,12 => Falsey
255,0 => Falsey
Quy tắc:
- Cung cấp một khung kiểm tra có thể xác minh rằng chương trình của bạn được làm cứng bằng bức xạ, vì sẽ có rất nhiều chương trình có thể (số byte * 8), hoặc bằng chứng khác về tính hợp lệ.
- Vui lòng đảm bảo kiểm tra kỹ chương trình của bạn trước khi đăng.
- Đầu ra có thể là sự thật / falsey (dù cách nào cũng tốt), hoặc cách khác là một giá trị riêng biệt cho sự thật và phần còn lại là falsey
- Điều này có thể thông qua bất kỳ phương thức nhập / xuất chuẩn nào
Đây là một chương trình trợ giúp có thể được sử dụng để tạo ra tất cả các biến thể của một chương trình được nhập.