n个整数的集合中任意取r个数进行排列
2016-11-24 16:12
169 查看
type se=set of 1..100;
var s:se;
n,r,num:integer;
a:array[1..100] of integer;
procedure print;
var i:integer;
begin
inc(num);
for i:=1 to r do
write(a[i]:3);
writeln;
end;
procedure dep(t:integer);
var i:integer;
begin
if t>r then begin print;exit;end;
for i:=1 to n do
if i in s then
begin
a[t]:=i;
s:=s-[i];
dep(t+1);
s:=s+[i];
end;
end;
begin
readln(n,r);
s:=[1..n];
num:=0;
dep(1);
write('number=',num);
end.
var s:se;
n,r,num:integer;
a:array[1..100] of integer;
procedure print;
var i:integer;
begin
inc(num);
for i:=1 to r do
write(a[i]:3);
writeln;
end;
procedure dep(t:integer);
var i:integer;
begin
if t>r then begin print;exit;end;
for i:=1 to n do
if i in s then
begin
a[t]:=i;
s:=s-[i];
dep(t+1);
s:=s+[i];
end;
end;
begin
readln(n,r);
s:=[1..n];
num:=0;
dep(1);
write('number=',num);
end.
相关文章推荐
- 对N各集合中的任意元素进行排列组合问题
- 对N各集合中的任意元素进行排列组合问题
- 定义一个List集合并实例化对应的实现类对象。循环输入任意个整数,输入0结束输入循环,对集合中的数据进行从大到小的排序后输出
- 陈利人 面试题 对于一个n位正整数a,去掉其中任意k(k<=n)个数字后,剩下的数字按原次序排列可以组成一个新的正整数。设计一个删数算法,使得剩下的数字组成的正整数最小。
- 谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
- (小工具)Java反射机制实现任意对象集合排序并且获取排列名次的通用程序实践
- 实现任意长的整数进行加法运算的演示程序
- (小工具)Java反射机制实现任意对象集合按指定任意字段进行分组通用程序实践
- 任意长度的两个整数集合求并集与交集
- 给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
- 编写程序,生成一个包含20个随机整数的列表,然后对其中偶数下标的元素进行降序排列,基数下标的元素不变
- C++ 任意对象 整数 全排列
- 两个整数进行降序排列
- 一个用VB实现的对任意字符串进行排列并排序的函数
- 给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
- 2.1实现将一组整数进行升序排列
- 谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
- 输入任意几个整数,将其进行排序问题。
- 将list集合的元素按照添加顺序的倒序进行排列取出
- 随机生成任意十个整数,分别利用冒泡和选择按从小到大排列。