自己做网站,正规专业短期培训学校,建设部网站城乡规划资质标准,合肥建设局网站首页文章目录 前言一、题意二、代码1.代码的实现2.读入数据 总结 前言
本题涉及到很多python中的知识点#xff0c;比如combinations#xff08;列表的组合#xff09;应用#xff0c;以及素数的判断 一、题意
已知 n 个整数 x1,x2,…,xn,以及一个整数 k#xff08;k#x… 文章目录 前言一、题意二、代码1.代码的实现2.读入数据 总结 前言
本题涉及到很多python中的知识点比如combinations列表的组合应用以及素数的判断 一、题意
已知 n 个整数 x1,x2,…,xn,以及一个整数 kkn.从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n4,k3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为 371222 371929 7121938 3121934. 现在,要求你计算出和为素数共有多少种.
二、代码
1.代码的实现
from itertools import *#引用组合函数combinations
from math import *#引用sum函数求和
def func(n):#用来判断n是否为素数i2flag1#是素数if n 1:flag0else :for i in range(2,n):if n%i0:flag0return flagn,kmap(int,input().split())#第一行输入数字个数以及多少个数字相加
alist(map(int,input().split()))#第二行输入每个数字都是多少
cnt0
for i in combinations(a,k):if func(sum(i))1:cnt1cnt
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是同一个组合