当前位置: 首页 > news >正文

python蓝桥杯选数

文章目录

  • 前言
  • 一、题意
  • 二、代码
    • 1.代码的实现
    • 2.读入数据
  • 总结


前言

本题涉及到很多python中的知识点,比如combinations(列表的组合)应用,以及素数的判断


一、题意

已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为:
3+7+12=22
3+7+19=29
7+12+19=38
3+12+19=34.
现在,要求你计算出和为素数共有多少种.

二、代码

1.代码的实现

from itertools import *#引用组合函数combinations
from math import *#引用sum函数求和
def func(n):#用来判断n是否为素数i=2flag=1#是素数if n == 1:flag=0else :for i in range(2,n):if n%i==0:flag=0return flagn,k=map(int,input().split())#第一行输入数字个数以及多少个数字相加
a=list(map(int,input().split()))#第二行输入每个数字都是多少
cnt=0
for i in combinations(a,k):if func(sum(i))==1:cnt=1+cnt
print(cnt)

2.读入数据

4 3
3 7 12 19 
1#在以上的组合中只有一个素数

总结

在此处总结一下排列组合函数:
排列函数itertools.permutations(a,2)#将列表a两两进行排列,注意1 2和2 1是两个不同的排列

itertools.combinations(a,2)#将列表a进行两两组合,注意,1 2和2 1是同一个组合!!!

http://www.lryc.cn/news/335477.html

相关文章:

  • 联想电脑开启虚拟化失败,开启虚拟化却提示还没有开启虚拟化
  • 物联网农业四情在线监测系统
  • MySQL8.3.0 主从复制方案(master/slave)
  • 大数据相关组件安装及使用
  • 【攻防世界】web2(逆向解密)
  • Linux文件查找命令详解——以CentOS为例
  • 【JavaEE】浅谈线程(一)
  • 深度解析SPARK的基本概念
  • FreeGPT3.5 开源软件
  • AI绘本生成解决方案,快速生成高质量的AI绘本视频
  • RabbitMQ3.13.x之九_Docker中安装RabbitMQ
  • 【操作系统】STM32-操作系统——持续更新
  • Redux Toolkit+TypeScript最佳实践
  • 假期别闲着:REST API实战演练之创建Rest API
  • C++模仿qq界面
  • 3D模型在线轻量化工具
  • 去中心化社交媒体:分析 Facebook 在区块链平台上的角色
  • 实现多租户JAVA支付(微信拉起支付):一个简单而强大的解决方案
  • 万字长文:FineBI面试题及参考答案详解
  • Python爬虫:为什么你爬取不到网页数据
  • NLP在搜索召回领域中的应用场景
  • 2. Django配置信息
  • 【Web】纯萌新的BUUCTF刷题日记Day1
  • 【51单片机入门记录】RTC(实时时钟)-DS1302概述
  • Lua热更新(AssetBundle)
  • 互联网人才现状分析
  • 高级IO——多路转接
  • TypeScript常用知识点整理
  • 【Unity实战100例】Unity入门小地图位置同步(第一第三人称)
  • 蓝桥杯简单模板