fork download
  1. def Gauss(n):
  2. return(n*(3*n+1)//2)
  3. def busquedabinaria(n):
  4. if n < 2: return ""
  5. if n == 2:
  6. print(1)
  7. return ""
  8. return busquedabi(n,0,n)
  9. def busquedabi(n,ini,fin):
  10. m =((ini+fin)//2)
  11. if Gauss(m) == n:
  12. print(m)
  13. return ""
  14. if Gauss(m) > n: return busquedabi(n,ini,m)
  15. if Gauss(m) < n and Gauss(m+1) > n:
  16. print(m, end = " ")
  17. return busquedabinaria(n-Gauss(m))
  18.  
  19. else:
  20. return busquedabi(n,m,fin)
  21. T = int(input())
  22. for _ in range(T):
  23. n = int(input())
  24. print(busquedabinaria(n))
Success #stdin #stdout 0.03s 9752KB
stdin
10
545787874564
9645646
47684758757
46845678
356576584
15454564212
5143546584
468947684
745468768
4513515631
stdout
603206 950 26 5 3

2535 57 9 2 1 1 1

178296 562 9 2 1 1 
5588 53 4 1

15417 169 8 3 
101503 387 8

58557 298 19 4

17681 90 2

22292 196 1 1

54854 175 11 3 1