# Enigmatic Code

Programming Enigma Puzzles

## Enigma 1015: Money-spinner

From New Scientist #2171, 30th January 1999 [link]

In my local pub there is an electronic “slot machine” which offers a choice of various games. In one of them, called Primetime, after inserting your pound coin the 9 digits 1-9 appear in random order around a circle. Then an arrow spins and stops between two of the digits. You win the jackpot if the two-digit number formed clockwise by the two digits on either side of the arrow has a two-figure prime factor. So, if the digits and arrow ended up as above, you would win the jackpot because 23 is a factor of 92.

However, with the digits in the same position but with the arrow between 8 and 1 you wound not win.

I recently played the game. The digits appeared and the arrow started to spin. But I realised to my annoyance that, no matter where the arrow stopped, I could not with the jackpot.

Starting with 1, what is the clockwise order of the digits?

[enigma1015]

### 2 responses to “Enigma 1015: Money-spinner”

1. Jim Randell 13 April 2019 at 12:58 pm

This Python 3 program finds the answer recursively in 97ms.

Run: [ @repl.it ]

```from itertools import permutations
from collections import defaultdict
from enigma import irange, prime_factor, printf

# find 2-digit numbers that do not have a 2-digit prime factor
# store them as a map of: <tens digit> -> <possible unit digits>
d = defaultdict(list)
for (a, b) in permutations(irange(1, 9), 2):
if any(p > 10 for (p, e) in prime_factor(10 * a + b)): continue
d[a].append(b)

# add k more digits to the sequence s
def solve(s, k):
# are we done?
if k == 0:
# check the the last and first digit
if s[0] in d[s[-1]]:
yield s
else:
# consider the next digit
for x in d[s[-1]]:
# we can't have already used it
if x in s: continue
# solve for the rest
yield from solve(s + [x], k - 1)

for s in solve([1], 8):
# output the sequence
printf("{s}")
```

Solution: The digits are: 1, 6, 3, 2, 7, 5, 4, 9, 8.

Giving the 2-digit numbers: 16, 63, 32, 27, 75, 54, 49, 98, 81.

2. Hugh Casement 13 April 2019 at 2:09 pm

That is the only order out of 8! = 40320 in which no prime factor greater than 7 occurs.

Factor 11 is not possible, because there can be no double digits.
I think I’m right in saying that in 72 games one could expect to win (on average) with factor 13 seven times, 17 and 19 five times each, 23 four times, 29 and 31 three times each, 37, 41, 43, and 47 twice each, and each higher prime up to 97 once. That is an overall probability 5/8 = 0.625 of winning.

This site uses Akismet to reduce spam. Learn how your comment data is processed.