婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 正則表達式與數(shù)學(方程式、線性方程)

正則表達式與數(shù)學(方程式、線性方程)

熱門標簽:遼寧秒客來電話機器人 自己做的電銷機器人 惠安地圖標注 淄博市張店區(qū)地圖標注 浙江營銷外呼系統(tǒng)有哪些 地圖標注店鋪地圖標注酒店 哈爾濱公司外呼系統(tǒng)代理 山東外呼系統(tǒng)聯(lián)系方式 上海銷售電銷機器人軟件
正則表達式如下:
復制代碼 代碼如下:

^1?$|^(11+?)\1+$ 可以判斷素數(shù)(換成n個1的形式,n為數(shù)字的大小。比如5轉換為11111;3轉換為111;2轉換為11。)

什么是素數(shù)?
初中學的吧。我們老師當初教我們的是“質數(shù)”。看下概念:
質數(shù)又稱素數(shù)。指在一個大于1的自然數(shù)中,除了1和此整數(shù)自身外,沒法被其他自然數(shù)整除的數(shù)。
換句話說,只有兩個正因數(shù)(1和自己)的自然數(shù)即為素數(shù)。比1大但不是素數(shù)的數(shù)稱為合數(shù)。1和0既非素數(shù)也非合數(shù)。
這個正則表達式是什么意思?
【^1?$|^(11+?)\1+$】中間用【|】分開?!緗】在正則語法里,表示“或”,作用于其前后兩個單元。(還是不明白的看下面,明白的跳過下面這段)
復制代碼 代碼如下:

比如【ab|cd】可以匹配“ab”、也可以匹配“cd”,意思是除了“ab”就是“bc”,如果想匹配“abd”、“acd”那【|】的作用域得改下,加個范圍
改成【a(b|c)】(匹配結果分配組)或者【a(?:b|c)d】(匹配結果不分配組,更高效率)。

繼續(xù)剛剛的正則,分為兩個分支,其一為【^1?$】和【^(11+?)\1+$】。其中【^】脫字符在正則語法中,除了在中括號【[]】中都是代表開頭的意思,在中括號中的表示非。
第一個分支【^1?$】匹配的是“1”或者“”(空字符串)。
第二個分支【^(11+?)\1+$】,先看下括號內的【(11+?)】匹配的是字符“1”后面接著【1+】就是1到無數(shù)個1。后面的【?】問號表示非貪婪,就是盡量少的匹配。
接著往后看【\1+】中,【\1】表示引用已匹配的第一個組的結果。也就是第一個【()】括號匹配的結果。同理【\2】就是第二個括號捕獲的結果。(小提示:上面提到的【(?:)寫法就是不分配組,這樣引用的話,就引用不到了】)
【+】就是1到無數(shù)個了。這個表達式我們可以這么看?!?11+?)】看成數(shù)學中的1+n,其中n為大于0的正整數(shù)。外面的【\1+】也就是引用前面這個組的次數(shù)。理解成m倍,其中m為大于0的正整數(shù)。
那整個表達式就是(1+n)*m。因為n、m都大于0,那么1+n肯定大于1,最小為2,最大為無窮大;m最小為1,最大為無窮大。
那么,一個大于2的正整數(shù)的任何大于零的倍數(shù)永遠都是合數(shù),也就是非素數(shù)。
再回過頭來看看這個表達式。匹配的分別為0個或1個字符串“1”,也就是數(shù)字0,數(shù)字1。和其他所有合數(shù)。整個表達式,如果成功匹配就是非素數(shù),如果不匹配就是質數(shù)。這就是對的了。
復制代碼 代碼如下:

if (preg_match('/^1?$|^(11+?)\1+$/i', $subject)) {
#不是素數(shù)
} else {
# 是素數(shù)
}

小提示:此鑒定是否為素數(shù)方法僅研究學習用,不能用到正式程序中,字符串過長,會造成非??謶执蟮幕厮荨?
英文博客地址:http://blog.stevenlevithan.com/archives/algebra-with-regexes
在上面的博文中,有提到兩個方程式與正則表達式,我們一起來研究下。
•二元方程17x + 12y = 51,其表達式【^(.*)\1{16}(.*)\2{11}$】。很好理解。【(.*)】也就是0到無數(shù)個【.】點號。(這里是接著上文說的,其實,【.】點號想表示的是字符“1”)
也就是0到無數(shù)個1,后面【\1】引用一次。后面【{16}】就是16次。作用于前面的【\1】,也就是16次引用。加上開始的【(.*)】一共正好17次。后面一個就不說了,跟這個一樣。
正則引擎會依次嘗試【(.*)】中0到無數(shù)個字符“1”,0個字符“1”,1個字符“1”,2個字符“1”一直增加的嘗試。直到成功,否則要嘗試完所有字符“1”的最大個數(shù)(這里是51個字符“1”)。
•二、三元方程式11x + 2y + 5z = 115,其表達式為【^(.*)\1{10}(.*)\2{1}(.*)\3{4}$】,理解就跟上面那個一樣。注意【\2】、【\3】值得是第2,第3個括號捕獲的內容,別看花眼了。
——————-分割線——————
上面幾個有意思的數(shù)學題都是將整數(shù)轉換為對應個數(shù)的字符“1”。下面這個,是轉換為二進制數(shù)的。
先吃飯,以后再寫。
您可能感興趣的文章:
  • C語言解線性方程的四種方法

標簽:綿陽 無錫 宣城 銅川 重慶 長沙 泰州 西安

巨人網絡通訊聲明:本文標題《正則表達式與數(shù)學(方程式、線性方程)》,本文關鍵詞  正則,表達式,與,數(shù)學,方程式,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《正則表達式與數(shù)學(方程式、線性方程)》相關的同類信息!
  • 本頁收集關于正則表達式與數(shù)學(方程式、線性方程)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 驻马店市| 株洲县| 伊吾县| 太仆寺旗| 福建省| 泰顺县| 湛江市| 枞阳县| 洛南县| 金山区| 德令哈市| 芮城县| 凌云县| 城市| 美姑县| 珲春市| 石林| 孝昌县| 曲松县| 平罗县| 页游| 武清区| 左贡县| 大埔县| 陈巴尔虎旗| 湘潭市| 通化县| 达拉特旗| 三江| 临高县| 老河口市| 酉阳| 宁都县| 鸡泽县| 苏尼特左旗| 如皋市| 耿马| 会东县| 鄯善县| 桂林市| 黄平县|