Nghệ thuật lập trình máy tính

Oct 19 2020

CHỈNH SỬA: Tôi biết chúng tôi không được phép chỉnh sửa các yêu cầu mới sau lần đăng đầu tiên nhưng theo tôi hiểu thì yêu cầu này là ngầm trong tất cả các câu hỏi ở đây:
Giải thích câu trả lời của bạn! Ít nhất một chút. Vì vậy, một độc giả bình thường có cơ hội theo dõi suy nghĩ của bạn và đánh giá cao thiên tài của bạn.

Đây là một đơn giản nhưng tôi hy vọng một trong những thú vị:

Bạn có thể tạo lại bất kỳ mẫu nào sau đây không?

Quy tắc:

  1. Chỉ số học nguyên

  2. Chính xác cục bộ, tức là chỉ có thể sử dụng tọa độ x, y của một điểm để tính màu của nó

  3. Không có bảng tra cứu

  4. Không có tính cưỡng bức (đó là lý do tại sao thẻ không có máy tính ở đó trong trường hợp bạn đang thắc mắc), ngoài điều đó, bạn có thể sử dụng máy tính khi bạn thấy phù hợp.

(5.) Càng đơn giản càng tốt

Ghi chú:


Các mẫu đều có chu kỳ và sử dụng các màu 0,1,2,3,4.
Bạn không cần phải sử dụng các màu chính xác giống nhau, bất kỳ năm màu nào cũng được.
Tôi đã cố tình không đặt phiên bản văn bản của các mẫu bởi vì bạn không được phép ép buộc nó.
Tôi vẫn còn khá mới với việc tạo câu đố, mọi phản hồi đều được hoan nghênh.

Một ví dụ với giải pháp:


Câu trả lời có thể $f(x,y) = \left [ \lfloor \frac x 3 \rfloor - \lceil \frac {y+2x+1} 6 \rceil - \lceil \frac {y+1} 6 \rceil \right ] \mod 5$

Trả lời

5 GarethMcCaughan Oct 19 2020 at 20:26

Tôi tin rằng mẫu đầu tiên là (với (0,0) ở trên cùng bên trái)

$$\Biggl\{\left\lfloor\frac{2x+3y-2}8\right\rfloor+\left\lfloor\frac{-3x-2y+3}8\right\rfloor \Biggr\} \mathop{\textrm{mod}}5.$$

Và cuối cùng là (với (0,0) ở trên cùng bên trái)

$$\Biggl\{x+y+m(x-y)-\left\lfloor\frac x4\right\rfloor\Biggl\}\mathop{\textrm{mod}}5$$

Ở đâu

$m(x)$ đi $0, +1, 0, -1$ phụ thuộc vào $x$ mod 4. Có rất nhiều cách không cần tra cứu để xác định $m$; ví dụ$m(x)=(x \mathop{\textrm{mod}}2)\cdot(-1)^{\lfloor x/2\rfloor}$.

Câu hỏi đã được cập nhật để bao gồm yêu cầu "giải thích câu trả lời của bạn".

Tôi không có nhiều lời giải thích để cung cấp cho mẫu đầu tiên. Tôi vưa

Tôi nghĩ tôi nên thử những thứ thuộc dạng này $\lfloor\textrm{linear}(x,y)\rfloor+\lfloor\textrm{linear}(x,y)\rfloor\pmod5$, với các hệ số của hai thứ tuyến tính khớp với nhau để tạo cho mẫu có kiểu đối xứng phù hợp; tính chu kỳ của mô hình gợi ý rằng tôi có thể muốn 8 hoặc 16 ở các mẫu số, một chút thử nghiệm cho thấy (lẽ ra phải rõ ràng ngay từ đầu) rằng sự khác biệt giữa$x$ và $y$Hệ số hiển thị trong bao nhiêu "dải" từ tây nam đến đông bắc, và sau đó chỉ có một số trường hợp để thử xem liệu chúng có đưa ra đúng mẫu hay không. Sau khi tìm thấy thứ gì đó có mẫu phù hợp nhưng bù lại$x$ và $y$, Tôi đã thay thế $x,y$ với $x-\delta,y-\epsilon$ Ở đâu $\delta,\epsilon$là mức bù đắp mà tôi cần để tạo ra và đơn giản hóa. Làm xong.

Tôi có thể nói thêm một chút về điều thứ tư.

Trước hết, mô hình dải rất rõ ràng gợi ý rằng bên trong "... mod 5" của tôi, tôi muốn một thuật ngữ $\lfloor x/4\rfloor$. Phần còn lại sau đó cần thiết để tạo ra một mô hình "con rắn" tuần hoàn đơn giản đẹp mắt. Những con rắn chạy theo hướng tây nam sang đông bắc đi sang phải, phải, lên, lên, phải, phải, lên, lên, phải, phải, v.v. Nếu chúng ta chỉ lấy các đường viền của$x+y$thì chúng ta sẽ có những đường chéo đơn giản, thực ra khá giống với những con rắn đó; chúng ta có thể biến các đường chéo thành các con rắn bằng cách cộng và trừ các số 1 trong một nhóm các vị trí được chọn cẩn thận. Nếu bạn thêm 1 tất cả xuống một đường chéo từ tây bắc sang đông nam, bạn có thể đẩy tất cả các đường một đơn vị theo đường chéo vào trong một cách hiệu quả; nếu bạn trừ đi 1, bạn có thể đẩy chúng một đơn vị theo đường chéo ra ngoài. Nhìn vào mô hình một chút, người ta sẽ thấy rằng điều cần thiết là một nửa đường chéo NW-SE giữ nguyên như cũ và nửa còn lại xen kẽ giữa được đẩy vào và bị đẩy ra, có nghĩa là chúng ta cần thêm chức năng đó$m(x,y)$ trước khi giảm mod 5.

4 LukasRotter Oct 19 2020 at 17:34

(2 trên 4)


$(0,0)$ là dưới cùng bên trái, không phải trên bên trái.

Mẫu thứ 2:

$f(x,y) = \left [ \left\lceil \frac {3x} 8 \right\rceil - \left\lfloor \frac {5x} 8 - \frac {y} 4 \right\rfloor \mod 5 - \left\lfloor -\frac {y} 8 \right\rfloor \mod 5 \right] \mod 5$

Mẫu thứ 3:

$f(x,y) = \left [ \left\lceil \frac {3x+3} 7 \right\rceil - \left\lfloor \frac {6x-y} 7 \right\rfloor - 7 \right] \mod 5$