题目一。
李白提壶打酒【https://blog.csdn.net/csdnliwenqi/article/details/116331316】
题目二。
某君有n个互不相同的正整数,现在他要从这n个正整数之中无重复的选取任意个数。并仅通过加法凑出整数X。求某君有多少种不同的方案来凑出整数X。
【讲解】
#include <iostream>
using namespace std;
int main() {
int n, x, ans = 0, a[30];
cin >> n >> x;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < (1<<n); i++) {
int num = 0;
for (int j = 0; j < n; j++) {
if (i & (1<<j)) {
num += a[j];
}
}
if (num == x) {
ans++;
}
}
cout << ans << endl;
return 0;
}
如输入6 6 ,1,2,3,4,5,6,输出是4种情况,分别是(6),(1,5),(2,4),(1,2,3)。