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")