标题:beyondyf 斑竹 我送你20分 (我分太少了) 你帮我写几行代码 要写我说的 ...
只看楼主
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
结帖率:99.76%
已结贴  问题点数:20 回复次数:3 
beyondyf 斑竹 我送你20分 (我分太少了) 你帮我写几行代码 要写我说的那样
就类似 排列吧
搜索更多相关主题的帖子: 斑竹 20分 
2012-10-22 14:01
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
得分:20 
好吧,稍等

搞定,自己执行一下试试
程序代码:
#include<stdio.h>
void print_sub_set(int * s, int n)
{
    int i, j, t;
    for(i = 0; i < 1 << n; i++, puts(" }"))
    for(putchar('{'), t = i, j = 0; t; t >>= 1, j++)
        if(t & 1) printf(" %d", s[j]);
}
int main()
{
    int s[] = {1, 2, 3}, n = 3;
    print_sub_set(s, n);
    return 0;
}


[ 本帖最后由 beyondyf 于 2012-10-22 14:28 编辑 ]

重剑无锋,大巧不工
2012-10-22 14:11
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
。。。。。。。。。

弄明白了3点

1.  t & 1  相当于判断奇偶
2.  t >> 1 相当于除以2
3.  t>>=1  相当于t=t/2

继续研究  斑竹的代码太精简了  以至于都看不懂

[ 本帖最后由 wp231957 于 2012-10-22 14:57 编辑 ]

DO IT YOURSELF !
2012-10-22 14:38
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
先把分给你吧   代码实在是看不懂  以后再研究吧

我看网上的代码 有用到递归的  你这里有没有我也不知道呀

DO IT YOURSELF !
2012-10-22 16:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-383796-1-1.html




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

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