用python语言输出100以内所有素数 Python编程#输出n以内的所有质数。
用python语言输出100以内所有素数
list = [] #存放计算的结果
list1 = [] #存放质数
n = int(input("计算质数2:"))
for i in range(2,n 1): #范围在2-n内
for j in range(2,i):
list.append(i%j)
if 0 not in list:
list1.append(i)
list=[]
print(list1)
正好在研究这个问题,怎么说呢,感觉这个是正解,runoob网站有这个案例,和楼下类似,但是是错的,运行你会发现9、15这类都是质数。而质数都定义,简单来说,就是大于1的自然数,只能被1和自己整除,9、15明显不是。网站的案例,当自然数为9时,此时通过9%2=1判定9为质数,然后第二次循环判定时(此时是9%3=0),此时9又不是质数了。总的来说,但凡像9、15、21这种类型不是质数的奇数,因为第一次都是和2判定无法被整除,所以都会被判定质数。
正确的做法是,将所有取余的结果存入列表,判定其中是否有为0的情况,如果有则不是质数,反之则是。
Python编程#输出n以内的所有质数。
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。
一般正常人的解法是两次循环,假设求小于N的所有素数。一次用N-1之间的所有数去除,如果能被整除这个数肯定不是素数。否则是素数。