Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # This program decomposes the number 'exp' into a sum of powers of 2
- import sys
- fail = 'Must give me a positive integer fella'
- try:
- exp = int(sys.argv[1])
- except:
- sys.exit(fail)
- if (exp <= 0):
- sys.exit(fail)
- i = 0 # exponent
- num = 0 # number to compare with exp
- last = 0 # an helper variable
- factors = list() # list of factors
- while (exp > 0):
- while (num < exp):
- last = num
- num = 2**i
- i = i+1
- if (num == exp):
- exp = exp-num
- factors.append(num)
- else:
- exp = exp-last
- factors.append(last)
- i = 0
- num = 0
- print factors
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement