#include <iostream>
#include <bitset>
#include <vector>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int a, b = 0, licz = 0, n = 0, s = 0;
cin>>a;
while(a > licz)
{
b++;
licz += bitset<20>(b).count();
}
n = b;
if(licz > a)
{
b--;
while(licz !=(a + bitset<20>(b).count()))
{
b--;
}
s = b;
cout<<n-1<<"\n";
}
else
cout<<n<<"\n";
for(int i = n; i > 0; i--)
{
if(i != s)
{
cout<<i<<" ";
}
}
}
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 31 32 33 34 35 36 37 38 39 | #include <iostream> #include <bitset> #include <vector> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int a, b = 0, licz = 0, n = 0, s = 0; cin>>a; while(a > licz) { b++; licz += bitset<20>(b).count(); } n = b; if(licz > a) { b--; while(licz !=(a + bitset<20>(b).count())) { b--; } s = b; cout<<n-1<<"\n"; } else cout<<n<<"\n"; for(int i = n; i > 0; i--) { if(i != s) { cout<<i<<" "; } } } |
English