Mẹo chơi gôn trong ///


12

Bạn có mẹo chung nào để chơi golf trong /// ? Tôi đang tìm kiếm những ý tưởng có thể được áp dụng cho các vấn đề về golf-code và ít nhất cũng hơi cụ thể đối với /// (ví dụ: "xóa khoảng trắng không cần thiết" không phải là một câu trả lời). Lời khuyên cho itflabtijtslwiLines là chủ đề và hợp lệ ở đây là tốt.

Xin vui lòng gửi một lời khuyên cho mỗi câu trả lời.

Câu trả lời:


5

Sử dụng //thay thế

Khi bạn xác định một loạt các thay thế, ví dụ:

/a/b//c/d//e/f//g/h//i/j//k/l//m/n//o/p//q/r//s/t//u/v//w/x//y/z/

(65 byte). Bạn có thể sử dụng //thay thế:

/~/\/\///a/b~c/d~e/f~g/h~i/j~k/l~m/n~o/p~q/r~s/t~u/v~w/x~y/z/

(61 byte).


4

Các khối /// chưa hoàn thành không được in

Lưu ý rằng dòng mã này

/Stack/Overflow//x/\//Stack/ignore/DoItyignore

chỉ in Overflow- phần từ /ignoretrở đi không được bao gồm trong đầu ra, bởi vì ///chỉ in những thứ trong phần gạch chéo thứ ba của nó.

Hãy thử khối không hoàn thành trực tuyến!

Tuy nhiên, điều này vẫn được xem xét bởi người thay thế: nếu chúng ta tiêm một nhát chém vào đó, mọi thứ sẽ thay đổi:

/Stack/Overflow//x/\//Stack/ignore/doitxignore

Hãy thử trực tuyến!

Đầu ra ở đây là Overflowdoit, bởi vì thay thế xbằng /cú pháp hợp lệ.


4

Khi mở rộng trên cơ sở và in kết quả trung gian, hãy kết hợp các lần lặp trước trong các lần lặp lại trong tương lai

Nghe có vẻ hơi phức tạp. Ý tôi là tốt hơn có thể được mô tả bằng cách sử dụng một câu trả lời thực tế. Thách thức này đòi hỏi đầu ra cụ thể này:

Steve Ballmer still does not know.
Steve Ballmer still does not know what he did.
Steve Ballmer still does not know what he did wrong.
Steve Ballmer still does not know what he did wrong with mobile.

Một giải pháp ngây thơ có thể là:

/1/Steve Ballmer still does not know//2/ what he did//3/ wrong//4/ with mobile./1.
12.
123.
1234

Thông báo như thế nào mô hình 1, 12, 123... được lặp đi lặp lại? Chà, không phải khi bạn làm điều này:

/1/Steve Ballmer still does not know//2/1 what he did//3/2 wrong//4/3 with mobile/1.
2.
3.
4.

Một lần nữa, cảm ơn Martin Ender đã chỉ ra điều này!


2

Sử dụng một ký tự ở cuối mã để xử lý các trường hợp cạnh

Khi bạn có một đoạn ///mã xử lý tất cả trừ một trường hợp, thì bạn có thể sử dụng một ký tự ở cạnh mã để xử lý trường hợp cạnh.

Ví dụ: Unary cộng hai số lại với nhau trừ khi số thứ hai là 7, trong trường hợp này chỉ xuất số thứ nhất.

Mã xử lý tất cả trừ trường hợp "số thứ hai là 7":

/+//<INPUT 1>+<INPUT 2>

Bằng cách thêm a *vào cuối mã, chúng ta có thể xử lý trường hợp cạnh bằng cách thay thế +0000000*bằng không có gì (cần bao gồm +để đảm bảo số không lớn hơn 7). Đảm bảo bao gồm mã ở cuối trước khi nhập để dọn sạch.

/+0000000*///+///*//<INPUT 1>+<INPUT 2>*

Hãy thử trực tuyến!

Đối với một ví dụ "thế giới thực", tôi đã sử dụng thủ thuật này cho một số vấn đề "Jimmy":

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.