用正则表达式来判断素数的代码

代码如下:

import re
def is_prime(num):
return not re.match(r"^1?$|^(11+?)\1+$", '1' * num)

这个正则表达式实际上表示所有合数长度的"1"串(还包括特例"1")。

(11+?)表示所有大于等于2的整数,后面接着的\1+表示重复一次以上——这不就是所有合数吗~~

(0)

相关推荐

  • 检查素数的正则表达式分享

    这个正则表达式如入所示: 检查素数与否的正则表达式 要使用这个正规则表达式,你需要把自然数转成多个1的字符串,如:2 要写成 "11", 3 要写成 "111", 17 要写成"11111111111111111",这种工作使用一些脚本语言可以轻松的完成. 一开始我对这个表达式持怀疑态度,但仔细研究了一下这个表达式,发现是非常合理的,下面,让我带你来细细剖析一下是这个表达式的工作原理. 首先,我们看到这个表达式中有"|",也就

  • php 求质素(素数) 的实现代码

    复制代码 代码如下: <?php class timer { var $time_start; var $time_end; function __construct() { $this->time_start = 0; $this->time_end = 0; } function timer() { $this->__construct(); } function start() { list($usec,$sec) = explode(" ",microt

  • JS 用6N±1法求素数 实例教程

    用6N±1法求素数 任何一个自然数,总可以表示成为如下的形式之一: 6N,6N+1,6N+2,6N+3,6N+4,6N+5 (N=0,1,2,-) 显然,当N≥1时,6N,6N+2,6N+3,6N+4都不是素数,只有形如6N+1和6N+5的自然数有可能是素数.所以,除了2和3之外,所有的素数都可以表示成6N±1的形式(N为自然数). 根据上述分析,我们可以构造另一面筛子,只对形如6 N±1的自然数进行筛选,这样就可以大大减少筛选的次数,从而进一步提高程序的运行效率和速度. 以下代码需要自然数大于

  • 用正则表达式来判断素数的代码

    复制代码 代码如下: import re def is_prime(num): return not re.match(r"^1?$|^(11+?)\1+$", '1' * num) 这个正则表达式实际上表示所有合数长度的"1"串(还包括特例"1"). (11+?)表示所有大于等于2的整数,后面接着的\1+表示重复一次以上--这不就是所有合数吗--

  • JavaScript常用的正则表达式表单验证代码

    常用的正则表达式如下: 复制代码 代码如下: "^-?[1-9]\\d*$", //整数 "^[1-9]\\d*$", //正整数 "^-[1-9]\\d*$", //负整数 "^([+-]?)\\d*\\.?\\d+$", //数字 "^[1-9]\\d*|0$", //正数(正整数 + 0) "^-[1-9]\\d*|0$", //负数(负整数 + 0) "^([+-]?)

  • 一行正则表达式判断质数的代码

    目录 背景 示例 正则分析 原理 优化空间 性能测试 总结 背景 昨天无意中看到一篇大佬的文章Primality regex(正则表达式判断质数),惊为天人,正则表达式也能用来判断质数了?立马来研究下 示例 perl -wle 'print "Prime" if (1 x shift) !~ /^1?$|^(11+?)\1+$/' [number] 翻译成JS代码如下 function isPrime(n) { return !/^1?$|^(11+?)\1+$/.test("

  • 如何实现正则表达式的JavaScript的代码高亮

    今天想改一下JS的高亮的配色,憋了一下午憋出了这个这个正则表达式. 下面这老长老长了的玩意儿是个正则表达式,看到了别吓坏了. 复制代码 代码如下: /(\/\/.*|\/\*[\S\s]+?\*\/)|((["'])(?:\\.|[^\\\n])*?\3)|\b(break|continue|do|for|in|function|if|else|return|switch|this|throw|try|catch|finally|var|while|with|case|new|typeof|in

  • js 常用正则表达式表单验证代码

    正则表达式使用详解 简介 简单的说,正则表达式是一种可以用于模式匹配和替换的强有力的工具.其作用如下:测试字符串的某个模式.例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式.这称为数据有效性验证.替换文本.可以在文档中使用一个正则表达式来标识特定文字,然后可以全部将其删除,或者替换为别的文字.根据模式匹配从字符串中提取一个子字符串.可以用来在文本或输入字段中查找特定文字. 基本语法 在对正则表达式的功能和作用有了初步的了解之后,我们就来具体看一下正则表

  • JS点击图片改变图片图径并用正则表达式取图片名的代码

    -------------JS----------------- 复制代码 代码如下: <script language="javascript" type="text/javascript"> // <!CDATA[ function img1_onclick(id) { var imgName=document.getElementById(id).src.replace(/.*\/([^\/]+)\..+/,'$1'); if(imgName

  • python利用正则表达式搜索单词示例代码

    前言 在python中,通过内嵌集成re模块,程序媛们可以直接调用来实现正则匹配.正则表达式模式被编译成一系列的字节码,然后由用C编写的匹配引擎执行. 比如下面的例子,就是用来从一段文字里查找一个单词,如下: 示例代码 import re pattern = 'this' text = 'http://blog.csdn.net/caimouse is great, this is great way!' match = re.search(pattern, text) s = match.st

  • JS 正则表达式判断各个浏览器代码详解

    注释都在代码里面了.很详细. 只判断了IE 火狐 谷歌 因为我没装其他浏览器了,所以呵呵.当然如果要判断其他浏览器.基本代码都是一样的了. 复制代码 代码如下: (function(){ window.sys={}; var ua=navigator.userAgent.toLowerCase(); //首先我们来看一下3个浏览器都返回了什么看下面. //ie ua=mozilla/4.0 (compatible; msie 8.0; windows nt 5.2; trident/4.0; q

  • js正则表达式验证URL函数代码(方便多个正则对比)

    推荐大家收藏的一段代码,方便同时测试多个正则,查看不同的检测结果,结合chrome完美 核心代码 <script> /** * 正则表达式判断网址是否有效 */ (function(){ "use strict"; var urlDict=[ //Bad Case 'www.baidu.com', //常规网址,未带协议头的地址 'w.baidu.com', //常规网址,短子域名 'baidu.com', //常规网址,仅有主域名 '测试.com', //非常规合法网址,

  • c语言判断是否素数程序代码

    复制代码 代码如下: #include <stdio.h> bool isPrimeNum(int x){    if (x == 1)        return false;    else if (x <= 0)        return false;    else if (x == 2)        return true;    else    {        for (int i = 2; i < x; i++)        {            if (

随机推荐