概念:
排列: P(n,r) 从n个中选r个进行排列(与顺序有关)
组合: C(n,r) 从n个中选r个进行组合(与顺序无关) 我的问题是: 我现在希望用能列出C(n,r)中所有的组合出来,即要显示每种组合的结果.
例如1: C(3,2) 从3个中,任选2个组合.
显示结果:
1,2
1,3
2,3例如2: C(4,3)
显示结果:
1,2,3
1,2,4
1,3,4
2,3,4现在希望把这个算法写成一个函数之类的东东. 我调用就能出结果.
排列: P(n,r) 从n个中选r个进行排列(与顺序有关)
组合: C(n,r) 从n个中选r个进行组合(与顺序无关) 我的问题是: 我现在希望用能列出C(n,r)中所有的组合出来,即要显示每种组合的结果.
例如1: C(3,2) 从3个中,任选2个组合.
显示结果:
1,2
1,3
2,3例如2: C(4,3)
显示结果:
1,2,3
1,2,4
1,3,4
2,3,4现在希望把这个算法写成一个函数之类的东东. 我调用就能出结果.
解决方案 »
- 求《sql server实用教程》的随书数据库
- 数据库表设计求解
- 不显示删除回复显示所有回复显示星级回复显示得分回复 exec xp_cmdshell 'bcp my_db.dbo.t out c:\test.dat -c
- 记录被删了,日志文件也没了,大伙帮分析一下原因。
- 大侠帮我看看下面的改怎么写?
- 跪求数据库高人,,关于触发器
- 我的机子ip地址设多少?在线等!
- 请问在win98下安装的sql server2000个人版,从其它win98客户端可以连接访问吗?
- 数据的批量查询及显示问题
- Sql高手请进-数据库碎片问题
- 有关sql server2005链接服务器问题?
- 难度五星问题:如何获得存储过程结果集的字段名称和类型?
as
begin
set rowcount @n
select identity(int,1,1) as num into # from sysobjects a,syscolumns b
set rowcount 0
declare @sql varchar(8000),@ord varchar(8000),@i int
set @sql='select * from # [1]'
set @ord='[1].num'
set @i=1
while @i<@r
begin
set @i=@i+1
set @sql=@sql+' inner join # ['+rtrim(@i)+'] on ['+rtrim(@i)+'].num>['+rtrim(@i-1)+'].num'
set @ord=@ord+',['+rtrim(@i)+'].num'
end set @sql=@sql+' order by '+@ord print @sql
exec(@sql)
end
goexec sp_test 5,1
exec sp_test 5,2
exec sp_test 5,3
godrop procedure sp_test
go
as
begin
if isnull(@n,0)<isnull(@r,0)
return set rowcount @n
select identity(int,1,1) as num into # from sysobjects a,syscolumns b
set rowcount 0
declare @sql varchar(8000),@ord varchar(8000),@i int
set @sql='select * from # [1]'
set @ord='[1].num'
set @i=1
while @i<@r
begin
set @i=@i+1
set @sql=@sql+' inner join # ['+rtrim(@i)+'] on ['+rtrim(@i)+'].num>['+rtrim(@i-1)+'].num'
set @ord=@ord+',['+rtrim(@i)+'].num'
end set @sql=@sql+' order by '+@ord print @sql
exec(@sql)
end
goexec sp_test 5,1
exec sp_test 5,2
exec sp_test 5,3
godrop procedure sp_test
go
*****************************************************************************
欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码)
http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html