Advertisement
Guest User

Untitled

a guest
Dec 7th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. def test(n):
  2. f = [0] * 10001
  3. f[1], f[2], f[3] = 1, 2, 3
  4. p = [0]
  5. b = [i for i in range(8)] + [0] * 10001
  6.  
  7. for i in range(1, 101):
  8. p.append(i * i * i)
  9. for i in range(4, n + 1):
  10. f[i] = 10000
  11. for j in range(len(p)):
  12. if i >= p[j] and f[i] > f[i - p[j]] + 1:
  13. f[i] = f[i - p[j]] + 1
  14. b[i] = p[j]
  15. return (f, b)
  16.  
  17. n = int(input())
  18. x = test(n)
  19. f, b = x[0], x[1]
  20. print(f[n])
  21.  
  22. def c(x):
  23. k = int( x ** (1 / 3))
  24. if k ** 3 == x:
  25. return k
  26. if (k + 1) ** 3 == x:
  27. return k + 1
  28.  
  29. if n == f[n]:
  30. for i in range(n):
  31. print(1, end = ' ')
  32. else:
  33. x = []
  34. while n != 0:
  35. x.append(b[n])
  36. n = n - b[n]
  37. for i in x:
  38. print(c(i), end = ' ')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement