荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: bakey (sbb的猪), 信区: Program
标 题: 重发集合内所有元素取值的程序
发信站: 荔园晨风BBS站 (2005年12月03日16:00:15 星期六), 站内信件
[code]
#include <stdio.h>
#include <string.h>
int n, r;
int C[5];
int used[5];
void combine(int pos,int h)
{
int i;
/*如果已选了r个元素了,则打印它们*/
if (pos==r) {
for (i=0; i<r; i++)
printf("%d",C[i]+1);
printf("\n");
return;
}
for (i=h; i<=n-r+pos; i++) /*对于所有未用的元素*/
if (!used[i]) {
/*把它放置在组合中*/
C[pos] = i;
/*使用该元素*/
used[i]++;
/*搜索第i+1个元素*/
combine(pos+1,i+1);
/*恢复递归前的值*/
used[i]--;
}
}
int main()
{
int i;
scanf("%d",&n);
for (i = 1; i <= n; i ++) C[i] = i;
for (i = 1 ; i <= n; i ++)
{
memset(used,0,sizeof(used));
r = i;
combine(0,0);
}
return 0;
}
[/code]
--
「我知道,你不知道。我知道,你不知道我知道,你不知道」
「我知道你,不知道我。知道你不知道我,知道你不知道」
「我,知道你不知道我知道。你,不知道我知道你不知道」
日子一天天过去, 我很快就会死掉
全国BBS都关了,我们去睡觉了
我是个大猪头
※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.111.149]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店