Python: Mersenne Numbers
After executing mersenne_nums.py
, you will be prompted for value for length of sequence, e.g. 8
:
$ python mersenne_nums.py
8
1
3
7
15
31
63
127
255
The expression x << y
becomes shorthand for x * 2**y
. <<
is the binary left shift operator. The final Mersenne number calculation is demonstrated below in a Python 3 interpreter CLI:
>>> (1 << 8) - 1
255
>>> bin(1 << 8)
'0b100000000'
>>> bin((1 << 8)-1)
'0b11111111'
>>> bin(255)
'0b11111111'
>>> bin(1)
'0b1'
>>> bin(3)
'0b11'
>>> bin(7)
'0b111'
>>> bin(15)
'0b1111'
>>> bin(31)
'0b11111'
>>> bin(63)
'0b111111'
>>> bin(127)
'0b1111111'
>>> bin(255)
'0b11111111'
>>> 128 * 2 - 1
255
>>> (128 << 1) - 1
255