# HackerEarth A subset in a sequence problem solution

In this HackerEarth A subset in a sequence problem solution You are given a set S consisting of non-negative powers of three S = {1, 3, 9, 27, ...}. Consider the sequence of all non-empty subsets of S ordered by the value of the sum of their elements. You are also given a single element n. You are required to find the subset at the nth position in the sequence and print it in increasing order of its elements.

## HackerEarth A subset in a sequence problem solution.

`#include<bits/stdc++.h>#define int long long int#define fast ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);using namespace std;int poww(int n,int p){  int power=1;  for(int i=0;i<p;i++)  {    power=power*n;  }  return power;}int32_t main(){  fast;  int t;  cin>>t;  while(t--)  {    int n,cnt=0,x;    cin>>n;    vector<int> v;    while(n)    {      x=n&1;      if(x)      {        v.push_back(poww(3,cnt));      }      n=n>>1;      cnt++;    }    cout<<v.size()<<'\n';    for(int i=0;i<v.size();i++)    {        cout<<v[i]<<" ";    }    cout<<'\n';  }}`

### Second solution

`t = int(input())while t > 0:    n = int(input())    a = []    for i in range(0, 40):        if n >> i & 1:            a.append(3 ** i)    print(len(a))    print(*a)    t -= 1`