文档章节

素数

寂寞暴走伤
 寂寞暴走伤
发布于 2016/07/14 19:32
字数 466
阅读 40
收藏 0

问题描述:

素数(质数)指的是不能被分解的数,除了1和它本身之外就没有其他数能够整除。
求100以内的所有素数。

我的代码:

import math
def prime(n):
    count=0
    for i in range(2,int(math.sqrt(n))+1):
        if n%i==0:
            count=1
    if count!=1:
        return True
    else:
        return False
a=[]
for j in range(2,100):
    if prime(j):
        a.append(j)
print a

结果:

[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]


我的思路:

原理:在一般领域,对正整数n,如果用2到n的平方根之间的所有整数去除,均无法整除,则n为质数。


大致流程是:先定义一个函数,判断传入的数是否为素数,然后使用该函数遍历100以内的数,将满足的数添加进列表,最后再输出;

其中,count是一个状态检查器,值为1时表示不是素数,为0时表示是素数;


示例代码:

def isPrimeNumber(n, s):
    for k in s:
        if k * k > n: break
        if n % k == 0: return None
    return n
prime = []
for n in range(2, 100):
    res = isPrimeNumber(n, prime)
    if res: prime.append(res)
print prime


代码分析:

示例代码不是用一个数的2到n的平方根之间的所有整数去除,而是用所有的素数平方值小于该数之间的素数去除,所以,函数内,第一个if语句是判断(都是素数)列表s内的数的平方值大小,只保留小于n的素数,第二个if语句是判断n是否可以整除保留的素数,只有都无法整除时才说明n是一个素数并返回。

最后,遍历2到100以内的数,将满足函数的赋给res并添加进素数列表prime中,供下次使用;



题目出处:http://www.cheemoedu.com/exercise/19

© 著作权归作者所有

上一篇: 黑洞数
下一篇: 梅森尼数
寂寞暴走伤
粉丝 0
博文 40
码字总数 20969
作品 0
南阳
运维
私信 提问
每周一课:L11 Sieve of Eratosthenes(11.2)

P11.2 CountSemiprimes Count the semiprime numbers in the given range [a, b]. P11.2 半素数个数 计算区间[a, b]中的半素数的个数 只有1与该数本身这两个正因数的数称为素数。前6个质数分...

AiFan
02/17
0
0
PTA (Advanced Level)1015 Reversible Primes

Reversible Primes   A reversible prime in any number system is a prime whose "reverse" in that number system is also a prime. For example in the decimal system 73 is a reversi......

suvvm
2018/12/18
0
0
筛素数法小结

筛选素数方法小结:   最简单的筛素数法方法就是从2开始,将所以2的倍数去掉,然后从3开始,将3的倍数去掉,依次进行下去即可。根据这样很容易写出代码,下面代码就是是筛素数法得到100以内...

老朱教授
2017/10/01
0
0
Python3 欧拉计划 问题46-50

问题41—45参见:https://www.jianshu.com/p/15254f8060e7 46、哥德巴赫的另一个猜想 哥德巴赫曾猜想:每个奇合数可以写成一个素数和一个平方的两倍之和。 9 = 7 + 2×1^2 15 = 7 + 2×2^2 2...

AiFan
2018/01/03
0
0
【转载】Python脚本判断一个数是否为素数的几种方法

质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。素数在数论中有着很重要的地位。比1大但不是素数的数称为合数。1和0既非素数也非合数。质数是与合...

摩云飞
2013/02/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

前嗅教程:如何获取精准客源,提高销量

经常有人问嗅嗅,我是XX行业的,大数据能帮我做什么? • 可以给我带来客源吗? • 可以提高我的销量吗? • 可以增加我的利润吗? 今天嗅嗅就以生鲜供货为例,为大家讲一讲外卖平台那些事~...

forespider
25分钟前
1
0
浮窗插件

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>移动窗口</title> <style> body { margin: 0; padding: 0; width: 100%; height: 1000px; background: #eee; } /*示......

流年那么伤
29分钟前
2
0
关于 Jenkins master 共享 JENKINS_HOME 目录的实验

本文首发于:Jenkins 中文社区 作者:翟志军 审校:王冬辉,linuxsuren Jenkins master 的高可用是个老大难的问题。和很多人一样,笔者也想过两个 Jenkins master 共享同一个 JENKINS_HOME 的...

Jenkins中文社区
36分钟前
3
0
【重构】Spring Cloud OAuth 无Token调用源码封装

背景 重构-改善既有代码的设计,重构的目的是是软件更容易被理解和修改。 书接上回Spring Security OAuth 微服务内部Token传递的源码解析,本篇主要无token 调用过程中,代码的不断完善及其重...

冷冷gg
42分钟前
26
0
watchOS更新后 Apple Watch 4心电图功能已开始支持欧洲用户

苹果在发布 Apple Watch 4 系列时也发布了 ECG(心电图)功能,但这项功能仅适用于在美版 Apple Watch。对于其他地区的用户来说,访问该功能的唯一途径是在美国购买该设备。不过当 watchOS ...

linuxCool
51分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部