#include <bits/stdc++.h>
using namespace std;
int n, wyn, wsk=1;
vector<int> v, odp;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n;
while(wyn<n)
{
v.push_back(__builtin_popcount(wsk));
wyn+=__builtin_popcount(wsk);
wsk++;
}
while(!v.empty())
{
if((wyn-v.back())>=n)
wyn-=v.back();
else
odp.push_back(v.size());
v.pop_back();
}
cout << odp.size() << '\n';
for(int i=0; i<odp.size(); i++)
cout << odp[i] << ' ';
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <bits/stdc++.h> using namespace std; int n, wyn, wsk=1; vector<int> v, odp; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; while(wyn<n) { v.push_back(__builtin_popcount(wsk)); wyn+=__builtin_popcount(wsk); wsk++; } while(!v.empty()) { if((wyn-v.back())>=n) wyn-=v.back(); else odp.push_back(v.size()); v.pop_back(); } cout << odp.size() << '\n'; for(int i=0; i<odp.size(); i++) cout << odp[i] << ' '; return 0; } |
English