Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def strtoval(s):
- val=0
- pow=1
- for i in reversed(range(len(s))):
- if s[i]=='1':
- val += pow
- pow *= 2
- return val
- def settostr(setex,n):
- str=""
- for i in range(n):
- if i in setex:
- str += '1'
- else:
- str += '0'
- return str
- def isprimeform(str):
- teststr=str[:]
- val = strtoval(str)
- for i in range(len(str)-1):
- teststr = teststr[1:] + teststr[0]
- if strtoval(teststr) > val:
- return False
- teststr=str[::-1]
- for i in range(len(str)-1):
- teststr = teststr[1:] + teststr[0]
- if strtoval(teststr) > val:
- return False
- return True
- import time
- start = time.time()
- import itertools
- n = 12
- iterable = range(0, n)
- pcsetslist = [list(itertools.combinations(iterable,i)) for i in range(0,n + 1)]
- pcsets = list(itertools.chain(*pcsetslist))
- count=0
- for set in pcsets:
- if isprimeform(settostr(set,n)):
- print(set)
- count += 1
- print("Count of number of prime forms:", count)
- print(str(time.time() - start) + ' seconds')
Advertisement
Add Comment
Please, Sign In to add comment