Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<vector>
- #include<algorithm>
- #include<cstring>
- using namespace std;
- void helper(vector<int> num,int x,int sum){
- int check_sum[1000];
- int j=0,k=0,final_sum=0;
- while(x>0){
- int last_bit=x&1;
- if(last_bit){
- check_sum[j]=num[k];
- j++;
- }
- k++;
- x=(x>>1);
- }
- for(int i=0;i<j;i++){
- final_sum=final_sum+check_sum[i];
- }
- if(final_sum==sum){
- for(int i=0;i<j;i++){
- cout<<check_sum[i]<<" ";
- }
- cout<<endl;
- }
- }
- void subset(vector<int> num,int sum,int n){
- for(int i=0;i<(1<<n);i++){
- helper(num,i,sum);
- }
- }
- int main(){
- vector<int> num;
- int n,c,sum;
- cout<<"number of integers"<<endl;
- cin>>n;
- cout<<"enter numbers"<<endl;
- for(int i=0;i<n;i++){
- cin>>c;
- num.push_back(c);
- }
- sort(num.begin(),num.end());
- cout<<"enter sum";
- cin>>sum;
- subset(num,sum,n);
- }
Advertisement
Add Comment
Please, Sign In to add comment