leet more ctf 2010 write up - wrapp it !

Bài này 200pts, nhìn chung là dễ. Chỉ cần  biết về brainfuck programming và bình tĩnh chút là xong ngay.

Về Brainfuck, có thể tham khảo trang wiki là đủ .

Đề bài như sau :

<[-]>>,[[-]<->]<[<->-]<[>-<+]>>[<+>-]+>[<<-<+>>>-]<<<[>>>+<<<-]<[>-<[-]]>>>-<<>-[<->-]<[>+<-]>.


đề bài cho mình một đoạn code viết bằng mã brainfuck, và yêu cầu là phải rút gọn đoạn code đó về độ dài không được lớn hơn 12 kí tự. lòng vòng hỏi ban tổ chức thì được biết là sẽ chỉ test kết quả cuối cùng, được in ra thôi, còn các giá trị ở các cell . nhận được đề này là vào tầm khoản 12h đêm, nên đầu óc không minh mẫn lắm. lần đầu là mình lao vào giải trên giấy, nhưng thấy không khả quan lắm nên tìm một cái brainfuck interpreter để dịch vậy. Tìm được cái này, khá tốt . Sau một hồi thử các giá trị thì kết quả xuất ra cuối cùng như sau :

input #0 --> output = 1
input = 1 ---> output = 0

Và đây là đoạn mã brainfuck thỏa mãn đề bài : ,[[-]>-<]>+.

 trên là mã của mình, còn một số đọan mã khác vẫn được BTC chấp nhận .

No comments:

Post a Comment