【二进制枚举】求在n个数中取任意个数加起来组成x的方案数
来源:互联网 发布:p2p网络播放器 编辑:程序博客网 时间:2024/05/08 00:46
问题:n个互不重复的数,通过加法凑出X,求出有多少种方案?(1<=n<=20,1<=X<=2000)
输入格式:n,x,n个整数
思路:由于n并不大,可以使用二进制枚举的方法。简单题,看代码就能够理解
#include <iostream>#include <algorithm>#include <vector>#include <stdio.h>#include <cstring>using namespace std;int num[21];int main(){ int n,x,i,j,temp,tot=0; scanf("%d%d",&n,&x); for(i=0;i<n;i++)scanf("%d",&num[i]); for(i=0;i<(1<<n);i++) { temp=0; for(j=0;j<n;j++) { if(i&(1<<j))//判断二进制i从右数第j+1位是否为1 temp+=num[j]; } if(temp==x)tot++; } printf("%d",tot);}
0 0
- 【二进制枚举】求在n个数中取任意个数加起来组成x的方案数
- 求任意一个数二进制中1的个数
- 算法题:求N!末尾0的个数和求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中 1 的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- 求二进制数中1的个数
- React-Native Fetch方法发送网络请求
- Java内部类,嵌套类的区别
- sharepoint2013 命令行部署 开错误日志
- 图像处理之每日一练:噪声的添加和过滤
- 第十四章 多线程2
- 【二进制枚举】求在n个数中取任意个数加起来组成x的方案数
- 关于cocos2dx内存管理机制的记录
- Apache Mina通信框架架构与应用
- 编程常用tips
- yii中cookie的简单使用
- IO流_字节流复制视频案例2
- IntelliJ IDEA控制台乱码
- 2017Android通用框架
- iOS - 设备扬声器听筒切换,静音模式播放音频