| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3315 人关注过本帖
标题:[讨论] 递归输出一个集合的所有子集
只看楼主 加入收藏
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
 问题点数:0 回复次数:6 
[讨论] 递归输出一个集合的所有子集
试编写一个递归函数,用来输出n 个元素的所有子集。例如,三个元素{a, b, c} 的所有子集是:{ }(空集),{a}, {b}, {c}, {a, b}, {a, c}, {b, c} 和{a, b, c}。

???.如何???

(第一章的,没做出来)

搜索更多相关主题的帖子: 子集 递归 输出 元素 
2006-02-09 16:36
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 

顺便另一个问题

1 + 2*2 + 3*3 + ... + n*n

的公式是什么?如何得到的? 请教


2006-02-09 16:39
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
收藏
得分:0 

1^2+2^2+3^2+……+n^2是用数学归纳法算出来的

2006-02-09 18:32
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 

n(n+1)(2n+1)/6,第二个完成,谢谢

期待第一个.


2006-02-10 13:01
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
收藏
得分:0 

网上找了一个。道理明白,代码还没太看懂。

#include<iostream>
#include<string>
using namespace std;

void build(char str[],int n);
void main()
{
char v[5] = "abcd";
build(v,4);
}
void build(char str[],int n)
{
if(n==0)
{
cout<<str;
cout<<endl;
}
else
{
build(str,n-1);
char newStr[5]={' '};
strcpy(newStr,str);
newStr[n-1]=' ';
build(newStr,n-1);
}
}


成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2006-02-10 15:33
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 

思维有点混乱了......

谢谢,柳儿姐姐~~


2006-02-10 16:56
woodhead
Rank: 3Rank: 3
等 级:新手上路
威 望:9
帖 子:1124
专家分:0
注 册:2005-7-18
收藏
得分:0 
[CODE]

#include<iostream>
using namespace std;

void Set(char*, int, int);
void move(char*, int, int);

int main(){
char a[5] = {'a','b','c','d','e'};
Set(a,0,5);
system("pause");
return 0;
}

void Set(char *a, int l, int m){
static int n=m, f=l;
if(l == m)
for(int j=0; j<2; j++,l--){
cout<<"{ ";
for(int i=f; i<l; i++)
cout<<a[i];
cout<<" }\n";
}
else
for(int i=0; i<n-l; i++){
Set(a,l+1,m-i);
move(a,l,n);
}
}

void move(char *a, int m, int n){
char tmp = a[m];
for(int i=m; i<n-1; i++)
a[i] = a[i+1];
a[n-1] = tmp;
}[/CODE]

没仔细的试,不想再想了


2006-02-11 13:46
快速回复:[讨论] 递归输出一个集合的所有子集
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024580 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved