那我们养的猫呢 2022-11-01 17:23 采纳率: 70%
浏览 58
已结题

python质数问题

已知一个整数列表,筛选出该列表中不同的质数,并求出该列表中有多少个质数可以表达为该列表中另外两个质数的和

  • 写回答

3条回答 默认 最新

  • 关注

    运行结果:

    img

    代码如下:

    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)
    
    
    
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月9日
  • 已采纳回答 11月1日
  • 创建了问题 11月1日

悬赏问题

  • ¥15 WPF 大屏看板表格背景图片设置
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示