Một dãy các xâu kí tự nhị phân ~S_1~, ~S_2~, ~S_3~,... được sinh ra bởi quy tắc sau:
Trong quy tắc trên, phép cộng ~S_n~ + ~\overline{~Sn~}~, ở đây là phép ghép xâu S vào sau xâu ~S_n~ . ~\overline{~Sn~}~ là xâu nhị phân đảo của xâu nhị phân Sn, có nghĩa là Sn được tạo thành từ Sự bằng cách thay các kí tự nhị phân 0 thành 1 đồng thời thay các kí tự nhị phân 1 thành 0 của Sh - Chẳng hạn: Với S ='0110' thì S '1001'. Theo quy tắc trên, ta có :
Như vậy, dựa vào dãy các xâu nhị phân ở trên, ta tìm được tính chất sau: Với 2 xâu nhị phân Sm và Sk bất kì trong dãy các xâu nhị phân trên thỏa mãn độ dài của mỗi xâu này lớn hơn hoặc bằng số nguyên dương x thì kí tự nhị phân thứ x của xâu Sm cũng là kí tự nhị phân thứ x của xâu Sa (m, k = N) Yêu cầu: Cho trước một số nguyên dương x (x ≤ 1016). Hãy tìm 3 kí tự nhị phân liên tiếp thứ x, x+1 và x + 2 trong xâu nhị phân Sm nào đó trong dãy các xâu nhị phân trên (độ dài của xâu Sm lớn hơn hoặc bằng x + 2). Dữ liệu vào: Đọc từ file văn bản BINARY.INP gồm chỉ một dòng chứa một số nguyên dương x (x ≤ 1016). Dữ liệu ra: Ghi ra file văn bản BINARY.OUT một dòng gồm 3 kí tự liên tiếp là ký tự nhị phân thứ x, thứ x+1 và thứ x+2 trong xâu nhị phân Sm như đã nêu ở phần yêu cầu trên, S2, S3, ... được sinh ra bởi quy tắc sau: $1= '0'; Snh =Sn+S với n=1,2,3,... Trong quy tắc trên, phép cộng S +S, ở đây là phép ghép xâu S vào sau xâu S - S là xâu nhị phân đảo của xâu nhị phân Sn, có nghĩa là Sn được tạo thành từ Sự bằng cách thay các kí tự nhị phân 0 thành 1 đồng thời thay các kí tự nhị phân 1 thành 0 của Sh - Chẳng hạn: Với S ='0110' thì S ='1001'. Theo quy tắc trên, ta có : $1 = '0';
S4 '01101001';
S2 = '01'; S3 = '0110'; S50110100110010110'; ... Như vậy, dựa vào dãy các xâu nhị phân ở trên, ta tìm được tính chất sau: Với 2 xâu nhị phân Sm và Sk bất kì trong dãy các xâu nhị phân trên thỏa mãn độ dài của mỗi xâu này lớn hơn hoặc bằng số nguyên dương x thì kí tự nhị phân thứ x của xâu Sm cũng là kí tự nhị phân thứ x của xâu Sa (m, k = N) Yêu cầu: Cho trước một số nguyên dương x (x ≤ 1016). Hãy tìm 3 kí tự nhị phân liên tiếp thứ x, x+1 và x + 2 trong xâu nhị phân Sm nào đó trong dãy các xâu nhị phân trên (độ dài của xâu Sm lớn hơn hoặc bằng x + 2). Dữ liệu vào: Đọc từ file văn bản BINARY.INP gồm chỉ một dòng chứa một số nguyên dương x (x ≤ 1016). Dữ liệu ra: Ghi ra file văn bản BINARY.OUT một dòng gồm 3 kí tự liên tiếp là ký tự nhị phân thứ x, thứ x+1 và thứ x+2 trong xâu nhị phân Sm như đã nêu ở phần yêu cầu trên.
Bình luận