每日一算法:可能产生的集合

举报
悦来客栈的老板 发表于 2020/12/30 01:17:01 2020/12/30
【摘要】 #include <stdio.h> char str[] = "abcdefghijklmnopqrstuvwxyz"; void print_subset(int n , int s){ int i; printf("{"); for(i = 0 ; i < n ; ++i) { if( s&(1<<i) ) // 判断s的二进制...

  
  1. #include <stdio.h>
  2. char str[] = "abcdefghijklmnopqrstuvwxyz";
  3. void print_subset(int n , int s)
  4. {
  5. int i;
  6. printf("{");
  7. for(i = 0 ; i < n ; ++i)
  8. {
  9. if( s&(1<<i) ) // 判断s的二进制中哪些位为1,即代表取某一位
  10. printf("%c ",str[i]);
  11. }
  12. printf("}\n");
  13. }
  14. void subset(int n)
  15. {
  16. int i;
  17. for(i= 0 ; i < (1<<n) ; ++i)
  18. {
  19. print_subset(n,i);
  20. }
  21. }
  22. int main(void)
  23. {
  24. int n;
  25. printf("输入一个数(<=26):");
  26. scanf("%d",&n);
  27. subset(n);
  28. return 0;
  29. }

文章来源: blog.csdn.net,作者:悦来客栈的老板,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq523176585/article/details/15339321

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。