Pascal递归白痴问题~ 超级简单的 输出子集 问题

我是一个算法白痴,找高手示范解决超级简单的题目~问题:输入n,输出集合{1,2,……,n}的所有子集。输入示范:3输出示范:{}{3}{2}{2,3}{1}{1,3}{1... 我是一个算法白痴, 找高手示范解决超级简单的题目~ 问题:输入n,输出集合{1,2,……,n}的所有子集。 输入示范: 3 输出示范: { } {3} {2} {2,3} {1} {1,3} {1,2} (1,2,3) 谢谢了 展开
 我来答
包诳蹦7
2014-07-17 · TA获得超过115个赞
知道答主
回答量:131
采纳率:50%
帮助的人:68.9万
展开全部
program digui; var n:longint; s:array[1..1000]of longint; procedure print(l:longint); var i:longint; begin write('{'); for i:=1 to l-1 do write(s[i],','); writeln(s[l],'}'); end; procedure dfs(k,p:longint); var t:longint; begin t:=s[p]; s[p]:=k; if k<n then dfs(k+1,p); print(p); if k<n then dfs(k+1,p+1); s[p]:=t; end; begin readln(n); fillchar(s,sizeof(s),0); s[1]:=1; dfs(1,1); end. 已经在电脑上测试过,有问题的话加我qq
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式