摘要:利用正則表達式可以來進行某些需要整除操作的判斷,例如奇偶性,質(zhì)數(shù)合數(shù)等。本文建議有一定正則基礎(chǔ)的看,需要了解基本的正則,回溯,貪心等。當然,由于的原因僅限于非負整數(shù)的判斷。
利用正則表達式可以來進行某些需要整除操作的判斷,例如:奇偶性,質(zhì)數(shù)合數(shù)等。
PS:本文建議有一定正則基礎(chǔ)的看,需要了解基本的正則,回溯,貪心等。
奇偶性判斷偶數(shù):首先把數(shù)字n轉(zhuǎn)化為重復(fù)n次1的字符串,然后通過正則的匹配判斷該字符串是否是多個或則0個(0也是偶數(shù))重復(fù)的11字符串。
function isEven(n) { return /^(11)*$/.test("1".repeat(n)); } isEven(0); // true isEven(1); // false isEven(2); // true
PS:當然,由于repeat的原因僅限于非負整數(shù)的判斷。
判斷奇數(shù):奇數(shù)和偶數(shù)互逆,加一個非就行了。
function isOdd(n) { return !/^(11)*$/.test("1".repeat(n)); } isEven(0); // false isEven(1); // true isEven(2); // false質(zhì)數(shù)合數(shù)
判斷合數(shù):同上轉(zhuǎn)換為字符串。然后通過正則匹配是否由2個及以上重復(fù)的字符串"11..."(1的個數(shù)也必須是2個及以上,能被1整除的不一定是合數(shù))。
function isNotPrime(n) { return /^(11+?)1+$/.test("1".repeat(n)) } isNotPrime(0); isNotPrime(1); isNotPrime(2); isNotPrime(3); isNotPrime(5); // false isNotPrime(4); isNotPrime(6); isNotPrime(8); isNotPrime(9); isNotPrime(10); // true
判斷質(zhì)數(shù):質(zhì)數(shù)和合數(shù)在除開0,1的情況下的自然數(shù)來看是互逆的,那么只需要給0,1特殊處理即可。
function isPrime(n) { return !/^1?$|^(11+?)1+$/.test("1".repeat(n)) } isPrime(2); isPrime(3); isPrime(5); isPrime(7); isPrime(11); isPrime(13);// true isPrime(0); isPrime(1);isPrime(4); isPrime(6); isPrime(8); isPrime(9); isPrime(10); // false
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/91772.html
摘要:首先明確一下概念質(zhì)數(shù)又稱素數(shù),有無限個。質(zhì)數(shù)定義為在大于的自然數(shù)中,除了和它本身以外不再有其他因數(shù)的數(shù)稱為質(zhì)數(shù)。以內(nèi)質(zhì)數(shù)表質(zhì)數(shù)的個數(shù)是無窮的。 首先聲明本人水平有限,僅僅做一下記錄,有錯的地方請指正,文章垃圾請包容??! 在網(wǎng)上不小心瀏覽到一篇技術(shù)博客,叫做《求質(zhì)數(shù)算法的N種境界(N>10)》,寫得很好,有興趣的讀者自己去搜索。然后就想自己去試試這篇博客里寫得各種求質(zhì)數(shù)的方法。 不想搭...
摘要:正則大法好,正則大法好,正則大法好,重要的事情說三遍。第二部分,這個部分是整個表達式的關(guān)鍵部分。學(xué)習正則如果還沒有系統(tǒng)學(xué)習正則表達式,這里提供一些網(wǎng)上經(jīng)典的教程供大家學(xué)習。正則表達式使用單個字符串來描述匹配一系列匹配某個句法規(guī)則的字符串。 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關(guān)注最新動態(tài),大家一起多交流學(xué)習,共同...
摘要:正則大法好,正則大法好,正則大法好,重要的事情說三遍。第二部分,這個部分是整個表達式的關(guān)鍵部分。學(xué)習正則如果還沒有系統(tǒng)學(xué)習正則表達式,這里提供一些網(wǎng)上經(jīng)典的教程供大家學(xué)習。正則表達式使用單個字符串來描述匹配一系列匹配某個句法規(guī)則的字符串。 原文收錄在我的 GitHub博客 (https://github.com/jawil/blog) ,喜歡的可以關(guān)注最新動態(tài),大家一起多交流學(xué)習,共同...
摘要:質(zhì)數(shù)的定義質(zhì)數(shù)又稱素數(shù)。一個大于的自然數(shù),除了和它自身外,不能整除其他自然數(shù)的數(shù)叫做質(zhì)數(shù)否則稱為合數(shù)。實現(xiàn)思路循環(huán)所有可能的備選數(shù)字,然后和中間數(shù)以下且大于等于的整數(shù)進行整除比較,如果能夠被整數(shù),則肯定不是質(zhì)數(shù),相反,就是質(zhì)數(shù)。 showImg(https://farm5.staticflickr.com/4256/35315926115_fcde5c8234_c.jpg); 質(zhì)數(shù)的定...
閱讀 1162·2021-09-22 15:43
閱讀 2358·2021-09-22 15:32
閱讀 4530·2021-09-22 15:11
閱讀 2227·2019-08-30 15:55
閱讀 2598·2019-08-30 15:54
閱讀 995·2019-08-30 15:44
閱讀 1107·2019-08-29 13:26
閱讀 803·2019-08-29 12:54