pascal选数已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为:

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/25 12:23:09
pascal选数已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为:

pascal选数已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为:
pascal选数
已知 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.  现在,要求你计算出和为素数共有多少种.  例如上例,只有一种的和为素数:3+7+19=29).
输入:
n ,k (1< =n< =20,k<n) x1,x2,…,xn (1< =xi< =5000000
输出:
一个整数(满足条件的种数).
样例输入:
4 3
3 7 12 19
样例输出:
1
(用素数比素数,有筛法求素数,说简单一点就是:使时间复杂度尽可能低.重要的几句代码要有注释,越多越好)
答的好加赏!

pascal选数已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为:
program kkk;
var n,s,i,p,x,ans:longint;
k:qword;
a:array[1..5000000] of longint;
procedure init;
var i:longint;
begin
read(n,k);{输入第一行}
for i:=1 to n do
read(a[i]);{输入第二行}
ans:=0;{初始化}
end;
function ok(x:longint):boolean;{判断型函数}
var i:longint;
begin
ok:=true;{初始化}
for i:=2 to trunc(sqrt(x))do{大可不必用筛法了,直接判断}
if x mod i=0 then{判断是否为素数}
begin
ok:=false;{错误}
break;{终止循环}
end;
end;
procedure run(s,i,p:longint);
var j:longint;
begin
if p=k+1 then
begin
if ok(s)then{若为素数}
inc(ans);{加一}
exit;{终止并退出子程序}
end;
for j:=i+1 to n do
run(s+a[j],j,p+1);{回溯赋值}
end;
begin{主程序}
init;
run(s,i,p);
writeln(ans);{输出}
end.
可以了吧.

pascal程序:选数已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和 pascal选数已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为: 请教一道free pascal题:选数(select.pas)【问题描述】已知 n 个整数 x1,x2,…,xn.从 n 个整数中任选 2 个整数相加,可得到一系列的和.例如当 n=4,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和 产生数pascal程序给出一个整数n(n 已知n个整数 x1,x2,…..xn,以及一个整数k (k 用 Pascal 编写一个程序将十进制整数n转换为二进制数.用 Pascal 编写加说明 free pascal 背包可放重量S,有N件物品,重量为X1、X2.Xn,数是整数,从n件物品中选取几件,使重量和正好为S. pascal程序设计 输入一个整数n,n pascal题目:已知n,求出1至n之间(包括n),满足每位数字之和为13的所有整数,每行输出8个满足条件的数要求输出的所有数从小到大排序.其中1若在1至n间没有一个数符合各位数字之和为13,则输 用递归的方法完成下列问题 求n个整数的积Pascal 给出一个整数n,接下来有n个整数,你要求出这n个整数中的最大值.用pascal做 pascal 读入n及n个整数,统计n个整数中有多少个素数,把结果输出到屏幕.注意:n 给出一个整数n,输出所有比n小的且是7的倍数的数 用pascal做 pascal 有n个正整数,n PASCAL问题 三、组数游戏【问题描述:】设有n个正整数,要求将他们连成一排,组成一个最大的多位数.如1:n=3,3个整数 13 、312、343.连成最大的整数为:34331213如2:n=4,4个整数7、13、4、246.连成 PASCAL问题 三、组数游戏【问题描述:】设有n个正整数,要求将他们连成一排,组成一个最大的多位数.如1:n=3,3个整数 13 、312、343.连成最大的整数为:34331213如2:n=4,4个整数7、13、4、246.连成 后n-1位数 用pascal试题描述已知w是一个位数不大于1000的无符号整数,若w是n(n≥2)位的整数,则求出w的后n-1位的数.输入输入中包括一个无符号整数w.输出w对应的n-1位数(忽略前缀0).如果除了最 free pascal题目两题1、拼数游戏对于给定的n个不小于0的整数,将它们以某种顺序连接成一排,组成一个最小的高精度整数(连成的高精度整数位数不超过255).例如:当n=3时,3个整数13、325和328,连