(转载) 数组a[]={3,5,2,4,1,8},要求从a中找出所有“和”等于10的子集_weixin_33716154的博客-程序员秘密

技术标签: ViewUI  javascript  

背包问题。   
  不过就这道题目本身而言,由于集合a中只要6个元素,而不是成千上万,所以可以使用更直观的办法:   
  只要你能通过程序给出数组a中元素所组成的集合的所有的子集合(幂集),那么只需在这些集合中搜索等于10的就可以了。   
  而6个元素构成的集合的幂集可以通过6位二进制数来表示,对于从0到2的6次方减1(63)之间的所有的数,让其每一位比特位代表一个元素,当该位为0时 表示该数所表示的子集中没有这个元素,否则表示拥有这个元素,这样就能对应出所有的组合,然后在这些所有的组合中检测和是否为10就可以了。

复制代码
 1 #include   <stdio.h>  
 2    
 3   #define   ARRAY_SIZE 6  
 4   #define   MAX_NUM (1<<ARRAY_SIZE)  
 5   int   main()  
 6   {  
 7   int   i,   j;  
 8   int   sum;  
 9   int   a[ARRAY_SIZE]   =   {
    3,5,2,4,1,8};  
10   int   count   =   0;  
11    
12   for(i   =   0;   i   <   MAX_NUM;   i++)  
13   {  
14   sum   =   0;  
15   for(j   =   0;   j   <   ARRAY_SIZE;   j++)  
16   {  
17   if(i   &   (1   <<   j))  
18   sum   +=   a[j];  
19   }  
20    
21   if(10   ==   sum)  
22   {  
23   printf("%d:   ",   ++count);  
24   for(j   =   0;   j   <   ARRAY_SIZE;   j++)  
25   {  
26   if(i   &   (1   <<   j))  
27   printf("%d   +   ",   a[j]);  
28   }  
29   printf("\b\b=   10.\n");  
30   }  
31   }  
32   printf("\nTotal:   %d.\n",   count);  
33    
34   return   0;  
35   } 
复制代码

来源:http://xiaozunyan.blog.sohu.com/3534370.html




本文转自夏雪冬日博客园博客,原文链接:http://www.cnblogs.com/heyonggang/p/3170935.html,如需转载请自行联系原作者

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33716154/article/details/90136410

智能推荐

MyBatis-Spring中间件逻辑分析(怎么把Mapper接口注册到Spring中)_weixin_30755709的博客-程序员秘密

1. 文档介绍  1.1. 为什么要写这个文档接触Spring和MyBatis也挺久的了,但是一直还停留在使用的层面上,导致很多时候光知道怎么用,而不知道其具体原理,这样就很难做一些针对性的优化工作,Spring和MyBatis都已经是很庞大的框架了,分析起来会需要很多的时间,所以我先从两者之间的中间件MyBatis-Spring开始,一步一步开始学习两个框架的原理和精...

嵌入式C/C++面试题(转帖)_weixin_34162629的博客-程序员秘密

1.引言  本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。  许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy函数都可看出面试者在技术上究竟达到了怎样的程度,我们能真正写好一个strcpy函数吗?我们都觉得自己能,可是我们写出的strcpy很...

一线大厂逃离或为新常态,大龄程序员改如何选择?_县城 大龄 逃离_75888丶的博客-程序员秘密

技术交流群:958923746,有学习视频,文档等。近日有网友爆料小米将从北京迁往武汉南京的政策,在2019年年底3月前完成搬迁的员工可享受3万元补贴,可申请当地人才公寓。按照这份公告的爆料,小米员工从北京“搬迁”到武汉南京后,工资待遇基本不变,公司会为员工提供15天酒店住宿补贴,标准为400元/天。除此以外,还有3万元的搬迁福利费,但是领取过的员工必须在新工作地服务满2年。住房方...

clock.tick_Java Clock类| tick()方法与示例_「已注销」的博客-程序员秘密

clock.tick Clock Class tick()方法 (Clock Class tick() method)tick() method is available in java.time package. tick()方法在java.time包中可用。 tick() method is used to get a Clock that returns the current insta...

git与github_长勺的博客-程序员秘密

初学it的小伙伴们,应该听说过git和github,但是只是停留在听过的阶段,也可能没有使用过,笔者反正是菜的不行,之前写笔记用word,自己做的项目上传百度云,还以为聪明,殊不知井底之蛙,后来一次老师布置安卓大作业,在网上找别人做过的项目时连GitHub上的项目都拷贝不下来,菜的不行,本博客就是来针对像我这样的小白,对git和github的一个简单入门。git和github是两个完全不同的概念。git是一个版本管理工具,是可以在你电脑不联网的情况下,只在本地使用的一个版本管理工具,其作用就是可以.

AndroidKiller回编译报错No resource found that matches the given name 'xxxxxxxx'._Andrio的博客-程序员秘密

/home//Apktooldir/res/values/styles.xml:293: error: Error retrieving parent for item: No resource found that matches the given name 'xxxxxxxxx'.出现这种主要原因是:Framework Files不是最新的,不能解析新版本里面新的资源属性。Apkt...

随便推点

经典面试题--不调用库函数实现字符串的拷贝_robertkun的博客-程序员秘密

#include using namespace std;char* strcpy_(char* strDes, const char* strSrc){ if(strSrc == NULL || strDes == NULL) throw "invaild argument(s)"; char* temp = strDes; while((*strDes++ = *strSrc++) != '/0'){}

在eclipse导入一个Web项目后,出现“http://java.sun.com/jsp/jstl/core”错误_KarrieChan的博客-程序员秘密

根据错误信息提示,原因是缺少了需要用到的jar包,所有只要导入相应的jar包就可以了。方法:把jstl.jar和standard.jar这两个包放到Web服务目录下的WEB-INF/lib,然后再进行build Path导入到库里面。这里提供这两个包的下载:点击打开链接...

第五节,损失函数:MSE和交叉熵_weixin_30376163的博客-程序员秘密

损失函数用于描述模型预测值与真实值的差距大小,一般有两种比较常见的算法——均值平方差(MSE)和交叉熵。1、均值平方差(MSE):指参数估计值与参数真实值之差平方的期望值。在神经网络计算时,预测值要与真实值控制在同样的数据分布内,假设将预测值经过Sigmoid激活函数得到取值范围在0~1之间,那么真实值也归一化到0~1之间。2、交叉熵:预测输入样本属于某一类的概率。...

Android游戏引擎--AndEngine入门_weixin_30455023的博客-程序员秘密

AndEngine是一款以OpenGLES方式进行画面渲染的2D游戏引擎,可以运行在支持Android1.6及以上版本的系统当中。应该说,相较前文介绍的Libgdx引擎,AndEngine拥有更多的游戏组件与扩展功能。并且与Libgdx不同,它在默认情况下已经可以支持中文,采用屏幕坐标系绘也更符合一般Android绘图习惯。然而,有其利也必有其弊,AndEngine作为游戏引擎虽然...

MVC下获得服务器的IP地址_mvc软件服务器地址_蓝色陨石的博客-程序员秘密

接到任务是给压力测试哪里写个test页面获得服务器的IP,因为我们项目是MVC的项目!所以现在网上那些C#httpcontext的都不好用.   IPAddress myIPAddress = (IPAddress)Dns.GetHostAddresses(Dns.GetHostName()).GetValue(0); ViewData["IP"] = Request.UserHo

特斯拉为什么不用激光雷达和高精地图?_3D视觉工坊的博客-程序员秘密

点击上方“3D视觉工坊”,选择“星标”干货第一时间送达/导读/目前搭载自动驾驶功能的车辆所搭载的主流传感器有摄像头、毫米波雷达、超声波雷达和激光雷达。为什么特斯拉不用激光雷达?当前的汽...

推荐文章

热门文章

相关标签