Python日常学习之:题目练习:给定一个正整数,计算有多少对质数的和等于输入的这个正整数,并输出结果。输入值小于1000

'''
1不是质数。
质数定义为在大于1的自然数中,除了1和它自身外,
不能整除其他自然数的数叫做质数;否则称为合数。
'''

num = 1000

# 确定1,1000范围内的质数个数
def is_zhishu(number):
    if number == 1:             # 1不是质数
        return False
    for i in range(2,number):  # 把2到number之间的数全部做一遍取余,看是否能整除
        if number % i == 0:
            return False
    return True                 # 如果昨晚全做一遍之后还是有余数,那么这个就是质数

lst = [x for x in range(1,num+1) if is_zhishu(x)]
print(lst)

# 计算满足要求的组的个数
count = 0
for i in lst:
    if num - i in lst and num - i <= i:		#可以减少一次for循环
        count += 1
print(count)

你可能感兴趣的:(python算法题,python,算法)