凑成整数x----二进制枚举
给n个数,给定x。
用这n个数求和凑成x,问有多少种凑法。
#include<bits/stdc++.h> using namespace std; int main() { int n,x; cin>>n>>x; int a[25]; for(int i=0;i<n;i++) cin>>a[i]; int ans=0; for(int i=0;i<(1<<n);i++) { int sum=0; for(int j=0;j<n;j++) { if(i&(1<<j)) { sum+=a[j]; } } if(sum==x) ans++; } cout<<ans<<endl; return 0; }