Python code bij Skolemrijen
- 01 Mar, 2026
-
Auteur:
Matthijs Coster
Python code bij Skolemrijen
# A004075 Number of Skolem sequences of order n
PRINTBOUND = 10
from itertools import permutations
Bewaren = []
for N in range(4,10):
print(N)
Reeks_1_tot_N = []
Reeks_1_1_tot_N_N = []
for loop in range(N):
Reeks_1_tot_N.append(loop+1)
Reeks_1_1_tot_N_N.append(0)
Reeks_1_1_tot_N_N.append(0)
print(Reeks_1_tot_N)
Set_van_Permutaties = permutations(Reeks_1_tot_N)
cnt = 0
for Permutatie in list(Set_van_Permutaties):
for loop in range(2*N):
Reeks_1_1_tot_N_N[loop] = 0
error = 0
for Getal in Permutatie:
Leeg = 0
while Reeks_1_1_tot_N_N[Leeg] > 0:
Leeg += 1
Reeks_1_1_tot_N_N[Leeg] = Getal
if Leeg + Getal < 2*N:
if Reeks_1_1_tot_N_N[Leeg+Getal] == 0:
Reeks_1_1_tot_N_N[Leeg+Getal] = Getal
else:
error += 1
else: error += 1
if error == 0:
cnt += 1
if cnt <= PRINTBOUND:
print(cnt, ":", Reeks_1_1_tot_N_N)
if cnt == PRINTBOUND+1:
print("...")
Bewaren.append(cnt)
print("Resultaat:", cnt, "Skolem rijen")
print()
print("Samenvatting:")
lbew = len(Bewaren)
for loop in range(lbew):
print(loop+4, ":", Bewaren[loop])
print("Klaar")