fork download
  1. n = int(input())
  2. def Gauss(n):
  3. return(n*(3*n+1)//2)
  4. def busquedabinaria(n):
  5. if n < 2: return ""
  6. if n == 2:
  7. print(1)
  8. return ""
  9. return busquedabi(n,0,n)
  10. def busquedabi(n,ini,fin):
  11. m =((ini+fin)//2)
  12. if Gauss(m) == n:
  13. print(m)
  14. return ""
  15. if Gauss(m) > n: return busquedabi(n,ini,m)
  16. if Gauss(m) < n and Gauss(m+1) > n:
  17. print(m, end = " ")
  18. return busquedabinaria(n-Gauss(m))
  19.  
  20. else:
  21. return busquedabi(n,m,fin)
  22. print(busquedabinaria(n))
Success #stdin #stdout 0.03s 9704KB
stdin
120
134
12345
stdout
8 3 1 1