Bilgisayar programlama sanatı

Oct 19 2020

DÜZENLEME: İlk gönderiden sonra yeni gereksinimleri düzenlemememiz gerektiğini biliyorum, ancak anladığım kadarıyla bu gereklilik buradaki tüm sorularda örtülüdür:
Cevabınızı açıklayın! En azından biraz. Yani sıradan bir okuyucunun düşüncelerinizi takip etme ve dehanızı takdir etme şansı vardır.

İşte basit ama eğlenceli olmasını umuyorum:

Aşağıdaki kalıplardan herhangi birini yeniden oluşturabilir misiniz?

Kurallar:

  1. Yalnızca tamsayı aritmetik

  2. Kesin olarak yerel, yani rengini hesaplamak için sadece bir noktanın x, y koordinatları kullanılabilir

  3. Arama tablosu yok

  4. Kaba zorlama yok (merak ettiğinizde bilgisayar yok etiketi bu yüzden oradadır), bunun dışında uygun gördüğünüz bilgisayarları kullanabilirsiniz.

(5.) Ne kadar basitse o kadar iyi

Notlar:


Desenlerin tümü periyodiktir ve 0,1,2,3,4 renklerini kullanır.
Aynı renkleri kullanmanız gerekmez, herhangi beş renk işe yarar.
Kasıtlı olarak desenlerin metin versiyonunu koymadım çünkü onu kaba kuvvetle zorlamamanız gerekiyor.
Hala bulmaca oluşturma konusunda oldukça yeniyim, her türlü geri bildirime açığız.

Çözümü olan bir örnek:


Olası cevap $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$

Yanıtlar

5 GarethMcCaughan Oct 19 2020 at 20:26

Sanırım ilk model ((0,0) sol üstte)

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

Ve sonuncusu (sol üstte (0,0) ile)

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

nerede

$m(x)$ gider $0, +1, 0, -1$ bağlı olarak $x$ mod 4. Tanımlamanın tablo içermeyen birçok yolu vardır. $m$; Örneğin$m(x)=(x \mathop{\textrm{mod}}2)\cdot(-1)^{\lfloor x/2\rfloor}$.

Soru, "cevabınızı açıklama" isteği içerecek şekilde güncellendi.

İlk kalıp için sunacak fazla açıklamam yok. ben sadece

formdaki şeyleri denemem gerektiğini düşündüm $\lfloor\textrm{linear}(x,y)\rfloor+\lfloor\textrm{linear}(x,y)\rfloor\pmod5$, modele doğru tür simetriyi vermek için iki doğrusal şeyin katsayıları birbiriyle eşleşerek; modelin periyodikliği, paydalarda muhtemelen 8 veya 16 olmasını istediğimi gösterdi, biraz deney (başlangıçtan itibaren açık olması gerektiği gibi), arasındaki farkın$x$ ve $y$katsayılar, güneybatıdan kuzeydoğuya kaç "bant" olduğunu gösterir ve sonra doğru modeli verip vermediklerini görmeye çalışan sadece birkaç durum vardır. Doğru modele sahip bir şey bulduktan sonra, ancak$x$ ve $y$, Değiştirdim $x,y$ ile $x-\delta,y-\epsilon$ nerede $\delta,\epsilon$üretmem gereken ofsetti ve basitleştirildi. Bitti.

Dördüncü hakkında biraz daha söyleyebilirim.

Her şeyden önce, çok bariz şeritlenme düzeni "... mod 5" içinde bir terim istediğimi gösterdi $\lfloor x/4\rfloor$. Geri kalanın daha sonra güzel ve basit bir periyodik "yılan" deseni vermesi gerekiyordu. Yılanlar güneybatıdan kuzeydoğuya doğru sağa, sağa, yukarı, yukarı, sağa, sağa, yukarı, yukarı, sağa, sağa vb.$x+y$o zaman, aslında o yılanlara oldukça benzeyen düz çapraz çizgilerimiz olur; özenle seçilmiş yerlere 1'leri ekleyip çıkararak çapraz çizgileri yılana dönüştürebiliriz. Kuzeybatıdan güneydoğuya çapraz bir çizginin sonuna 1 eklerseniz, tüm konturları bir birim çapraz olarak içe doğru itmiş olursunuz; 1'i çıkarırsanız, bunları etkili bir şekilde çapraz olarak dışa doğru bir birim itersiniz. Desene biraz bakıldığında, ihtiyaç duyulan şeyin kuzeybatı-güneydoğu köşegenlerinin yarısının olduğu gibi kalması ve diğer yarısının içeri itilme ve dışarı itilme arasında gidip gelmek olduğunu görür, bu da bu işlevi eklememiz gerektiği anlamına gelir.$m(x,y)$ mod 5'i düşürmeden önce.

4 LukasRotter Oct 19 2020 at 17:34

(4 üzerinden 2)


$(0,0)$ sol alt, sol üst değil.

2. desen:

$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$

3. desen:

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