Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- def f(n):
- if n == 0: return 0
- k = 0
- while 2**(k+1) - 1 <= n:
- k += 1
- ret = k * 2**(k-1)
- a = 2**k
- if n >= a:
- ret += n - a + 1 + f(n - a)
- return ret
- print f(10**6)
- print f(10**8)
- print f(10**100)
Add Comment
Please, Sign In to add comment