Bạn phải tạo một chương trình tạo bản sao chính xác của chính nó vô tận cho đến khi dừng lại. Bất cứ điều gì trong chương trình ban đầu phải ở trong bản sao. Nói cách khác, các bản sao và chương trình gốc giống nhau về mọi mặt ngoại trừ việc các bản sao không phải ở cùng loại tệp với mã nguồn (chúng có thể là tệp văn bản).
Thí dụ:
Nếu chương trình ban đầu của tôi là:
for i in range(0, 10):
     print i
bản sao cũng phải là:
for i in range(0, 10):
     print i
Các quy tắc và làm rõ:
- Sơ hở tiêu chuẩn bị cấm 
- Bản sao phải là bản sao chính xác của bản gốc 
- Các bản sao phải là các tệp có thể đọc được nếu có thể được đặt bên trong trình thông dịch chính xác 
- Chương trình có thể đọc mã nguồn riêng của nó 
- Tất cả các bản sao phải là các tệp riêng biệt 
- In chương trình của bạn ra là không được phép 
- Tên tệp được tính vào số byte 
- Các bản sao không phải ở cùng thư mục với tệp nguồn cũng như không chia sẻ cùng tên tệp 
- Ít nhất 1000 bản sao có thể được tạo 
Chiến thắng:
Ít nhất là chiến thắng byte!
yes `<$0`|split -1tốt hơn rất nhiều, nhưng điều đó làm tăng gấp đôi số byte ...