基本介紹
- 中文名:洛必達算法
- 外文名:L'Hôpital's Algorithm
- 方法:分離、判斷、合併、求解
- 學科:數學、計算機
- 又名:解判和算法、多index算法
- 發現時間:2017/7/29
洛必達算法,又稱為解判和算法,是一種通過分別分離百位、十位、個位甚至更多位數,使之成為維度,判斷維度最終進行判斷位置,從而找到符合條件的解的算法。最典型的例子為:數獨訓練的Visual Basic程式中分解控制項數組進而達到充當二維控制項數組的算法。由於這算法聽起來好像通過分子分母分別求導再求極限來確定未定式,所以稱之為洛必達算法,並不是因為這種算法是洛必達發現的。
此算法可以彌補Visual Basic等一些程式語言的不足,如:Visual Basic不支持二維控制項數組,此算法可以將數學中的數對(x,y),可以用(xy)一個數來表示控制項數組的下標(Index)(如:Text(12)表示第(1,2)個格子)如下表:
(1,1) | (1,2) | (1,3) | (1,4) | (1,5) |
(2,1) | (2,2) | (2,3) | (2,4) | (2,5) |
(3,1) | (3,2) | (3,3) | (3,4) | (3,5) |
(4,1) | (4,2) | (4,3) | (4,4) | (4,5) |
可以用Left和Right函式提取出十位和個位,再讓x=Left,y=Right(圖片的算法有缺陷),這就變成了可以分別判斷x坐標和y坐標的Text(x,y)的形式,然後判斷出符合條件的坐標值,最後將坐標合併,變成原來的控制項數組,最後再對符合條件的數組進行控制。
此算法也可用在數學上。