liczbyBitow = [] suma = 0 sumyBitow = [] for i in range(1, 130000): binarnie = '{0:b}'.format(i) # print(binarnie) liczbaBitow = binarnie.count('1') # print(liczbaBitow) liczbyBitow.append(liczbaBitow) suma += liczbaBitow sumyBitow.append(suma) # print(liczbyBitow) # print(sumyBitow n = int(input()) for i in range(0, len(sumyBitow)): if sumyBitow[i] >= n: # print(i) # print(sumyBitow) # print(sumyBitow[i]) if sumyBitow[i] == n: print(i+1) for j in range(i+1, 0, -1): print(j, end=" ") else: doWyrzucenia = 0 for j in range(i, -1, -1): # print(liczbyBitow[j]) if liczbyBitow[j] == sumyBitow[i]-n: # print(str(j+1) + " Do wyrzucenia") doWyrzucenia = j+1 break print(i) for j in range(i+1, 0, -1): if j == doWyrzucenia: pass else: print(j, end=" ") break
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 40 41 42 43 44 45 46 | liczbyBitow = [] suma = 0 sumyBitow = [] for i in range(1, 130000): binarnie = '{0:b}'.format(i) # print(binarnie) liczbaBitow = binarnie.count('1') # print(liczbaBitow) liczbyBitow.append(liczbaBitow) suma += liczbaBitow sumyBitow.append(suma) # print(liczbyBitow) # print(sumyBitow n = int(input()) for i in range(0, len(sumyBitow)): if sumyBitow[i] >= n: # print(i) # print(sumyBitow) # print(sumyBitow[i]) if sumyBitow[i] == n: print(i+1) for j in range(i+1, 0, -1): print(j, end=" ") else: doWyrzucenia = 0 for j in range(i, -1, -1): # print(liczbyBitow[j]) if liczbyBitow[j] == sumyBitow[i]-n: # print(str(j+1) + " Do wyrzucenia") doWyrzucenia = j+1 break print(i) for j in range(i+1, 0, -1): if j == doWyrzucenia: pass else: print(j, end=" ") break |