已知一个整数列表,筛选出该列表中不同的质数,并求出该列表中有多少个质数可以表达为该列表中另外两个质数的和
3条回答 默认 最新
- 技术专家团-小桥流水 2022-11-01 18:06关注
运行结果:
代码如下:
print("请输入一系列整数,用空格分隔:") ls = list(map(int,input().split())) ls2 = [ls[0]] # 删除重复元素 for i in range(1,len(ls)): # 判断是否是素数 flag = True for k in range(2,ls[i]): if ls[i]%k == 0: flag = False break if flag == True: # 判断是否已经在列表中 f2 = True for k in range(0,len(ls2)): if ls2[k] == ls[i]: f2 = False # 是素数且不再列表中,插入列表 if f2 == True: ls2.append(ls[i]) # 打印素数列表 print("列表中的不同质数为:") print(ls2) # 求列表中的素数是否可以作为另外两个素数的和 ls2.sort() nmb = 0 for i in range(0,len(ls2)): for j in range(0,i): for k in range(j,i): if (ls2[i] == (ls2[j]+ls2[k])): print("%d=%d+%d"%(ls2[i],ls2[j],ls2[k])) nmb+=1 # 输出总数 print("列表中总共有%d个质数可以表达为列表中另外两个质数的和"%nmb)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录