菜鸟IT的博客 >> Python
实战100例 - 第36例 - 求100以内的质数/素数
# -*- coding: utf-8 -*-
# 题目:求100以内的质数
# 什么是质数?1个大于1的自然数,只能被它本身和1整除。那么这个数就是质数
# 思路:来2波for循环,第1个for循环是从1到100
# 做1个列表收集能被整除的数字
ListYuShu0=[]
FanWei=int(input("你是想求多少数字以内的全部质数?请输入:"))
for ZhiShuSo in range(2,FanWei+1):
for ChuShu in range(1,ZhiShuSo+1):
if((ZhiShuSo%ChuShu)==0):
# 把余数为0的数字都写入列表
ListYuShu0.append(ZhiShuSo)
print(ListYuShu0)
# 凡是列表里的数字重复出现的次数只有2次,就是质数。
# 超过2次的统统不是质数。
# 然后统计这个列表
# 定义1个新列表用来存放只出现2次重复的数字
ListChongFu2=[]
for so in ListYuShu0:
# 重复出现次数为2次的,就是质数
# 并写入新列表
if (ListYuShu0.count(so)==2):
ListChongFu2.append(so)
print("已找出",FanWei,"以内的质数,但依然重复项:",ListChongFu2)
# 定义1个新列表去掉重复项
ListQuChongFu2=[]
for j in ListChongFu2:
if j not in ListQuChongFu2:
ListQuChongFu2.append(j)
print("真正找出",FanWei,"以内的全部质数,全部展示出来:",ListQuChongFu2)
——————————————
输出结果:
你是想求多少数字以内的全部质数?请输入:100
[2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 9, 9, 9, 10, 10, 10, 10, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 17, 17, 18, 18, 18, 18, 18, 18, 19, 19, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 25, 25, 25, 26, 26, 26, 26, 27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30, 31, 31, 32, 32, 32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 38, 38, 38, 38, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 40, 40, 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 50, 50, 50, 50, 50, 50, 51, 51, 51, 51, 52, 52, 52, 52, 52, 52, 53, 53, 54, 54, 54, 54, 54, 54, 54, 54, 55, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 56, 57, 57, 57, 57, 58, 58, 58, 58, 59, 59, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60, 61, 61, 62, 62, 62, 62, 63, 63, 63, 63, 63, 63, 64, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 67, 67, 68, 68, 68, 68, 68, 68, 69, 69, 69, 69, 70, 70, 70, 70, 70, 70, 70, 70, 71, 71, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 72, 73, 73, 74, 74, 74, 74, 75, 75, 75, 75, 75, 75, 76, 76, 76, 76, 76, 76, 77, 77, 77, 77, 78, 78, 78, 78, 78, 78, 78, 78, 79, 79, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 81, 81, 81, 81, 81, 82, 82, 82, 82, 83, 83, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 85, 85, 85, 85, 86, 86, 86, 86, 87, 87, 87, 87, 88, 88, 88, 88, 88, 88, 88, 88, 89, 89, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 91, 92, 92, 92, 92, 92, 92, 93, 93, 93, 93, 94, 94, 94, 94, 95, 95, 95, 95, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 96, 97, 97, 98, 98, 98, 98, 98, 98, 99, 99, 99, 99, 99, 99, 100, 100, 100, 100, 100, 100, 100, 100, 100]
已找出 100 以内的质数,但依然重复项: [2, 2, 3, 3, 5, 5, 7, 7, 11, 11, 13, 13, 17, 17, 19, 19, 23, 23, 29, 29, 31, 31, 37, 37, 41, 41, 43, 43, 47, 47, 53, 53, 59, 59, 61, 61, 67, 67, 71, 71, 73, 73, 79, 79, 83, 83, 89, 89, 97, 97]
真正找出 100 以内的全部质数,全部展示出来: [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]
菜鸟IT博客[2022.01.24-12:38] 访问:335