n = int(input())
x = 0
i = 1
strengths = {}
while x < n:
s = str(bin(i))[2:].count('1')
strengths[i] = s
x += s
i += 1
excludes = []
c = i - 1
m = c
while x != n:
if x - strengths[c] >= n:
excludes.append(c)
x -= strengths[c]
else:
c -= 1
print(m - len(excludes))
for i in reversed(range(m)):
if i + 1 not in excludes:
print(i + 1, end=' ')
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 | n = int(input()) x = 0 i = 1 strengths = {} while x < n: s = str(bin(i))[2:].count('1') strengths[i] = s x += s i += 1 excludes = [] c = i - 1 m = c while x != n: if x - strengths[c] >= n: excludes.append(c) x -= strengths[c] else: c -= 1 print(m - len(excludes)) for i in reversed(range(m)): if i + 1 not in excludes: print(i + 1, end=' ') |
English