អយល័រគម្រោង: ផ្លូវបន្ទះឈើ

គម្រោងអយល័រ គឺជាស៊េរីនៃបញ្ហាសរសេរកម្មវិធីដ៏គួរឱ្យរំភើប ដែលជារឿយៗមានផ្ទៃខាងក្រោយគណិតវិទ្យា។ បញ្ហាទាំងនេះត្រូវបានរចនាឡើងជាញឹកញាប់ដើម្បីទាមទារការអភិវឌ្ឍក្បួនដោះស្រាយទំនើបដើម្បីសម្រេចគោលដៅក្នុងរយៈពេលសមហេតុផល។ ថ្ងៃនេះយើងនឹងដោះស្រាយបញ្ហា ទី 15៖ ផ្លូវបន្ទះឈើ ដែលអាចដោះស្រាយបានដោយប្រើវិធីសាស្ត្ររួមបញ្ចូលគ្នាសាមញ្ញ។


សំណួរគឺដូចខាងក្រោម:

„Starting in the top left corner of a 2×2 grid, and only being able to move to the right and down, there are exactly 6 routes to the bottom right corner. How many such routes are there through a 20×20 grid?“

បញ្ហាក៏អាចត្រូវបានបង្កើតឡើងខុសៗគ្នាដែរ: អ្វីដែលត្រូវការគឺអំណាចនៃសំណុំរងនៃផ្លូវទាំងអស់

$$W = {w_1, …, w_{2^n}}, \, w_k = p_1 \cdots p_{2\cdot n}, \, p_k \in \{ R, D \}.$$

នេះគឺជាបញ្ហាបន្សំដ៏សាមញ្ញមួយដែលយើងប្រើម៉ូដែលកោរសក់ (ដោយមិនចាំបាច់ជំនួសនិងមិនគិតពីលំដាប់) ។ ឥឡូវនេះយើងចាប់អារម្មណ៍យ៉ាងច្បាស់ចំពោះផ្លូវទាំងនោះដែលវាផ្ទុកថា \(R\) និង \(D\) ពិតប្រាកដជាមួយប្រេកង់ដូចគ្នា។ លទ្ធផលនេះមាននៅក្នុងបន្សំដែលអាចកើតមានទាំងអស់:

$$\binom{2\cdot n}{n} = \frac{(2\cdot n)!}{n!\cdot n!}$$

សម្រាប់ \(n=20\) យើងទទួលបាន:

$$ \frac{(40)!}{20!\cdot 20!} = 137846528820.$$

យើងអាចពង្រីកបញ្ហានេះទៅក្រឡាចត្រង្គដែលមិនមែនជាការ៉េ។ ដំណោះស្រាយខាងក្រោមអនុវត្តការគណនាក្នុង PHP ដោយមានជំនួយពី bcmath ជាមួយពេលវេលារត់របស់ \( O(n) \) ជាមួយទ្រង់ទ្រាយបញ្ចូល "ចំនួនករណីសាកល្បង \(n_1\) \(m_1\) , ... ":

47bb78215ee0531a787bb5034652eaf4

និយាយ អញ្ចឹងបញ្ហាទាំងអស់នៃអយល័រក៏អាចត្រូវបានដោះស្រាយតាមអ៊ិនធរណេតនៅលើគេហទំព័រ ហែកឃើរីក់ដែលបាន ណែនាំផងដែរ។

ថយក្រោយ