def main(n): suma = 0 i = 1 tab = [] while suma<n: t=0 a = bin(i)[2:] for j in a: t += int(j) suma += t tab.append(i) i+=1 s = len(tab) -1 j = 0 while suma > n: l = s-j j += 1 a = bin(tab[l])[2:] t = 0 for r in a: t += int(r) if (suma - t) >=n: suma = suma - t tab.remove(tab[l]) tab = tab[::-1] print(len(tab)) for i in tab: print(i,end=' ') if __name__ == '__main__': main(int(input()))
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 | def main(n): suma = 0 i = 1 tab = [] while suma<n: t=0 a = bin(i)[2:] for j in a: t += int(j) suma += t tab.append(i) i+=1 s = len(tab) -1 j = 0 while suma > n: l = s-j j += 1 a = bin(tab[l])[2:] t = 0 for r in a: t += int(r) if (suma - t) >=n: suma = suma - t tab.remove(tab[l]) tab = tab[::-1] print(len(tab)) for i in tab: print(i,end=' ') if __name__ == '__main__': main(int(input())) |