វង់នៃចំនួន

កាលពីប៉ុន្មានថ្ងៃមុនខ្ញុំបាន សិក្សា សំណួរខាងក្រោមអំពី StackExchange អំពីវង់នៃចំនួនគត់។ យើងកំពុងស្វែងរករូបមន្តបិទសម្រាប់កូអរដោនេនៃធាតុ \(n\) - ទីក្នុងវង់ចំនួនគត់ខាងក្រោមដែលលាតសន្ធឹងពីប្រភពដើមទៅខាងក្រៅនិងឆ្ងាយនិងបន្តទៅជានិរន្ដរភាព។:

..  9 10 11 12
23  8  1  2 13
22  7  0  3 14
21  6  5  4 15
20 19 18 17 16

ដំបូងយើងបែងចែកលេខធម្មជាតិទៅជាក្រុមខាងក្រោម:

$$G_1 = \{ 1,...,8 \}\\G_2 = \{ 9, ..., 24 \}\\G_3 = \{ 25, ... 48 \}\\...\\G_k = \left\{ (2k-1)^2, (2k+1)^2 - 1 \right\}$$

យើង​ហៅ

$$a^2 = \left(\left \lfloor \left( \frac{\left \lfloor \sqrt{n} \right \rfloor + 1}{2} \right) \right \rfloor \cdot 2 - 1 \right)^2$$

លេខចាប់ផ្តើមនៅក្នុងក្រុម។

ក្នុងក្រុមមានបួនក្រុមតូចៗដែលមានទំហំដូចគ្នា \(G_1\) សម្រាប់ \(G_1\) ជា \(g_1 = \{ 1,2 \}, g_2 = \{ 3,4 \}, g_3 = \{ 5,6 \}, g_4 = \{7,8\}\) ) ។ ប្រសិនបើ \(n\) ពីក្រុមរងមួយទៅក្រុមមួយទៀតទិសដៅនៅលើផ្លូវវង់ (តាមទ្រនិចនាឡិកាក្នុងឧទាហរណ៍របស់យើង) ក៏ត្រូវបានផ្លាស់ប្តូរក្នុងពេលតែមួយដែរ។ យើងទទួលបានទិសដៅបច្ចុប្បន្ន \( b \in \{0,1,2,3\} \) ដោយបែងចែកទីតាំង \(na^2\) ក្នុងក្រុមដោយចំនួនធាតុក្នុងក្រុមរង:

$$b = \left \lfloor \frac{ n - a^2 }{ \text{abs}\left( a \right) + 1 } \right \rfloor$$

ឥឡូវយើងអាចកំនត់ធាតុទីមួយនៅក្នុងក្រុមរង \(g_n\) ដោយបន្ថែមចំនួន \(b\) នៃចំនួន \(a+1\) នៃធាតុនៅក្នុងក្រុមទៅលេខដំបូង \(a^2\):

$$c = a^2 + b \cdot (a+1)$$

ឥឡូវនេះយើងអាចកំណត់ដោយការសង្កេតសាមញ្ញ:

$$x_{right} = \left(n - c - \frac{ a + 1 }{2}+1\right),\, y_{right} = \left(\frac{ a + 1 }{2}\right) \\ x_{bottom} = \left(\frac{ a + 1 }{2}\right),\, y_{bottom} = (-1) \cdot \left( n - c - \frac{ a + 1 }{2}+1\right) \\ x_{left} = (-1) \cdot \left(n - c - \frac{ a + 1 }{2}+1\right),\, y_{left} = (-1) \cdot \left(\frac{ a + 1 }{2}\right) \\ x_{top} = (-1) \cdot \left(\frac{ a + 1 }{2}\right),\, y_{top} = \left( n - c - \frac{ a + 1 }{2}+1\right)$$

យើងចង់តំណាងឱ្យ \(f(n)\) ជាតំណាងបិទហើយក៏មិនមានករណីប្លែកៗដែរ។ យើងប្រើមុខងារ Signum ខ្ញុំ បាន ពិពណ៌នានីតិវិធី នៅទីនេះ ។ ដូច្នេះយើងទទួលបានរូបមន្តសុទ្ធជាមុខងាររបស់ \(n\) យើងទទួលបាន:

ដោយមានជំនួយពី SVG.js យើងអាចមើលឃើញនៅក្នុងការមើលឃើញតូចមួយដែលរឿងទាំងមូលពិតជាដំណើរការ:

See the Pen ulam spiral by David Vielhuber (@vielhuber) on CodePen.

វង់នេះត្រូវបានគេស្គាល់ថា វង់របស់អ៊ូឡាំ និងមានទំនាក់ទំនងគួរឱ្យរំភើបចំពោះលេខបឋម។

ថយក្រោយ