Guest User

Untitled

a guest
Jun 21st, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.25 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. def f(n):
  4. if n == 0: return 0
  5. k = 0
  6. while 2**(k+1) - 1 <= n:
  7. k += 1
  8. ret = k * 2**(k-1)
  9. a = 2**k
  10. if n >= a:
  11. ret += n - a + 1 + f(n - a)
  12. return ret
  13.  
  14. print f(10**6)
  15. print f(10**8)
  16. print f(10**100)
Add Comment
Please, Sign In to add comment