ten6box
Σ(っ °Д °;)っ 救命……给我个思路就好QAQ

设计一个递归算法求含n个元素的集合的幂集并输出……(集合s的幂集指由s的所有子集组成的集合)

话说我完全不懂递归和迭代的不同啊喂……

这样大量的输出是用数组比较好_(:з」∠)_?!

完全没救了……脑细胞死绝罒 - 罒!!

救命……

ten6box
终于撸完了
展开Biu

moxiagy 发表于 2013-3-25 23:10

[mw_shl_code=c,true]#include

char ch[100];

ヾ(≧へ≦)〃辛苦了!!!!终于撸完了……明天可以交工真是可喜可贺啊o(*≧▽≦)ツ

[查看全文]
ten6box
万分感谢嘤嘤嘤
展开Biu

foodszhu 发表于 2013-3-25 22:57

[mw_shl_code=c,true]#include

#include

int a[10] = {0}, f[1000][1000] = {{0}}, lenF[1000] = {0}, le ...

QAQ万分感谢嘤嘤嘤。。。终于撸完了(PД`q。)·。'゜

[查看全文]
moxiagy
给你搜了个
展开Biu

[mw_shl_code=c,true]#include<stdio.h>

char ch[100];

void print(int n)

{

int i;

printf("{");

for(i=0;i<n;i++)

if(i!=n-1)

printf("%c, ",ch);

else

printf("%c",ch);

printf(" } \n");

return ;

}

void dfs(int n,int index,int hou)

{

char i;

print(n);

if(n==index)

{

return ;

}

for(i=hou;i<4;i++)

{

ch[n]=i+'a';

dfs(n+1,index,i+1);

}

}

int main()

{

dfs(0,4,0);

return 0;

}[/mw_shl_code]

#km给你搜了个。。虽然不利于锻炼自己思考的能力

[查看全文]
ten6box
还是说需要详细讲解
展开Biu

crab2313 发表于 2013-3-25 22:55

还是说需要详细讲解

不( -'`-; ) 貌似看不大明白。。。。有些个代码(是函数么……)很眼熟但是又没学过((果然是我上课不认真么orz))我在楼下滚滚~~~

还是谢谢啦www大神什么的最喜欢了(*/ω\*)

[查看全文]
ten6box
话说这属于高中知识吧
展开Biu

moxiagy 发表于 2013-3-25 22:58

哦 话说这属于高中知识吧。。不过幂集这词汇真心看傻眼了

Σ(っ °Д °;)っ 高中有学c语言的么!!!!

你那是什么高中啊……

计算机专业高中……orz

[查看全文]
foodszhu
本帖最后由
展开Biu

本帖最后由 foodszhu 于 2013-3-25 23:19 编辑

我貌似写了个迭代啊。。。。抱歉了。。。能用上就拿走,用不上晚上一会稍微改下就好了

[查看全文]
moxiagy
话说这属于高中知识吧
展开Biu

哦 话说这属于高中知识吧。。不过幂集这词汇真心看傻眼了

[查看全文]
foodszhu
输入一个数字表示元素个数
展开Biu

[mw_shl_code=c,true]#include <stdio.h>

#include <stdlib.h>

int a[10] = {0}, f[1000][1000] = {{0}}, lenF[1000] = {0}, lenL = 0;

int getF(int len, int N)

{

if(len > N)

{

return 0;

}

for(int i = 0; i < lenL; i++)

{

for(int j = 0;j < lenF; j++)

{

f[i + lenL][j] = f[j];

}

lenF[i + lenL] = lenF;

}

int t = lenL;

lenL = 2 * lenL + 1;

for(int i = t;i < lenL; i++)

{

f[lenF++] = a[len];

}

}

int main(int argc, char *argv[])

{

int N = 0;

scanf("%d", &N);

for(int i = 0; i < N; i++)

{

scanf("%d", &a);

}

for(int i = 0; i < N; i++)

{

getF(i, N);

}

for(int j = 0; j < lenL; j++)

{

printf("{");

for(int k = 0; k < lenF[j]; k++)

{

printf("%d, ", f[j][k]);

}

printf("}");

}

printf("\n");

}

[/mw_shl_code]

输入一个数字表示元素个数,再输入n个数表示各个元素值

输出了除空集外所有子集

例子:

输入一个数字表示元素个数,再输入n个数表示各个元素值

输出了除空集外所有子集

5

0 1 2 3 4 5

{0, }{0, 1, }{1, }{0, 2, }{0, 1, 2, }{1, 2, }{2, }{0, 3, }{0, 1, 3, }{1, 3, }{0, 2, 3, }{0, 1, 2, 3, }{1, 2, 3, }{2, 3, }{3, }{0, 4, }{0, 1, 4, }{1, 4, }{0, 2, 4, }{0, 1, 2, 4, }{1, 2, 4, }{2, 4, }{0, 3, 4, }{0, 1, 3, 4, }{1, 3, 4, }{0, 2, 3, 4, }{0, 1, 2, 3, 4, }{1, 2, 3, 4, }{2, 3, 4, }{3, 4, }{4, }

[查看全文]