summaryrefslogtreecommitdiff
path: root/Problem43.py
diff options
context:
space:
mode:
Diffstat (limited to 'Problem43.py')
-rw-r--r--Problem43.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/Problem43.py b/Problem43.py
new file mode 100644
index 0000000..02f7c02
--- /dev/null
+++ b/Problem43.py
@@ -0,0 +1,40 @@
+perm = [0,1,2,3,4,5,6,7,8,9]
+divisors = [1,2,3,5,7,11,13,17]
+def swap(i,j):
+ k = perm[i]
+ perm[i] = perm[j]
+ perm[j] = k
+result = 0
+count,max = 1,3265920
+while count < max:
+ N = len(perm)
+ i = N - 1
+ while(perm[i-1] >= perm[i]):
+ i = i - 1
+ j = N
+ while perm[j - 1] <= perm[i -1]:
+ j = j - 1
+ swap(i - 1, j - 1)
+ i+=1
+ j=N
+ while(i < j):
+ swap(i - 1, j - 1)
+ i+=1
+ j-=1
+ divisible = True
+ for x in range(1,len(divisors)):
+ num = 100 * perm[x] + 10 * perm[x+1] + perm[x+2]
+ if num % divisors[x] != 0:
+ divisible = False
+ break
+ if (divisible):
+ num = 0
+ for x in range(0,len(perm)):
+ num = 10*num +perm[x]
+ result += num
+ count+=1
+print(result)
+
+
+
+