设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 8505|回复: 6
打印 上一主题 下一主题

输出质数

[复制链接]

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
楼主
发表于 2013-7-25 01:08:21 |只看该作者 |倒序浏览
质数,又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。
如:2, 3, 5, 7, 11....

编写一个输出质数的程序。

输入:n

输出:0~n之间所有的质数。

例:
20
2 3 5 7 11 13 17 19
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

1

好友

80

积分

注册会员

Rank: 2

沙发
发表于 2013-7-25 20:20:36 |只看该作者

QQ截图20130725201939.png (13.55 KB, 下载次数: 290)

QQ截图20130725201939.png

回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

板凳
发表于 2013-7-26 14:41:27 |只看该作者
浮生湮灭了美好 发表于 2013-7-25 20:20

不错的。

附加要求:可以解释一下代码吗?比如
  1. for j in range(2,int(math.sqrt(i))+1):
复制代码
这行的具体含义

然后我就可以偷个懒啦
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

0

主题

1

好友

80

积分

注册会员

Rank: 2

地板
发表于 2013-7-26 20:58:37 |只看该作者
crossin先生 发表于 2013-7-26 14:41
不错的。

附加要求:可以解释一下代码吗?比如这行的具体含义

本来j范围应该是2到i的,用sqrt(i)+1可以简化算法的一种办法,那本谭浩强c语言上说的,具体怎么来没研究过
回复

使用道具 举报

0

主题

0

好友

389

积分

中级会员

Rank: 3Rank: 3

5#
发表于 2013-9-18 14:32:23 来自手机 |只看该作者
输出100以内的质数:
t = [2]
for i in range(3,101,2):
    s = [j for j in t if i%j==0]
    if not s:t.append(i)
print(t)
回复

使用道具 举报

0

主题

0

好友

389

积分

中级会员

Rank: 3Rank: 3

6#
发表于 2013-9-20 10:43:49 |只看该作者
fl0w 发表于 2013-9-18 14:32
输出100以内的质数:
t = [2]
for i in range(3,101,2):

程序代码

Screenshot.png (21.27 KB, 下载次数: 252)

PrimeNumber.py

PrimeNumber.py

回复

使用道具 举报

0

主题

0

好友

62

积分

注册会员

Rank: 2

7#
发表于 2013-11-1 22:59:35 |只看该作者
用排除法做
  1. import math
  2. print "Please input a number."
  3. n = input()
  4. primeNumber = range(0,n+1)
  5. for i in primeNumber:
  6.         dividend = int(math.sqrt(n)) + 1
  7.         for q in range(1, dividend):
  8.                 if i % q == 0:
  9.                         try:
  10.                                 primeNumber.remove(i)
  11.                         except:
  12.                                 pass
  13. print primeNumber
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-4-27 17:47 , Processed in 0.028776 second(s), 27 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部